blob: 5ddc1acf628463faa6d12ec37f376d32622178aa [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam1ed83fc2014-02-19 01:15:45 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
3 *
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,
Leo Chang0b0e45a2013-12-15 15:18:55 -0800417
Jeff Johnson295189b2012-06-20 16:38:30 -0700418 WDI_MAX_IND
419}WDI_LowLevelIndEnumType;
420
421
422/*---------------------------------------------------------------------------
423 WDI_LowRSSIThIndType
424---------------------------------------------------------------------------*/
425typedef struct
426{
427 /*Positive crossing of Rssi Thresh1*/
428 wpt_uint32 bRssiThres1PosCross : 1;
429 /*Negative crossing of Rssi Thresh1*/
430 wpt_uint32 bRssiThres1NegCross : 1;
431 /*Positive crossing of Rssi Thresh2*/
432 wpt_uint32 bRssiThres2PosCross : 1;
433 /*Negative crossing of Rssi Thresh2*/
434 wpt_uint32 bRssiThres2NegCross : 1;
435 /*Positive crossing of Rssi Thresh3*/
436 wpt_uint32 bRssiThres3PosCross : 1;
437 /*Negative crossing of Rssi Thresh3*/
438 wpt_uint32 bRssiThres3NegCross : 1;
439
Srinivasdaaec712012-12-12 15:59:44 -0800440 wpt_uint32 avgRssi : 8;
441 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700442
443}WDI_LowRSSIThIndType;
444
445
446/*---------------------------------------------------------------------------
447 WDI_UnkAddr2FrmRxIndType
448---------------------------------------------------------------------------*/
449typedef struct
450{
451 /*Rx Bd data of the unknown received addr2 frame.*/
452 void* bufRxBd;
453
454 /*Buffer Length*/
455 wpt_uint16 usBufLen;
456}WDI_UnkAddr2FrmRxIndType;
457
458/*---------------------------------------------------------------------------
459 WDI_DeleteSTAIndType
460---------------------------------------------------------------------------*/
461typedef struct
462{
463 /*ASSOC ID, as assigned by UMAC*/
464 wpt_uint16 usAssocId;
465
466 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
467 wpt_uint8 ucSTAIdx;
468
469 /*BSSID of STA*/
470 wpt_macAddr macBSSID;
471
472 /*MAC ADDR of STA*/
473 wpt_macAddr macADDR2;
474
475 /* To unify the keepalive / unknown A2 / tim-based disa*/
476 wpt_uint16 wptReasonCode;
477
478}WDI_DeleteSTAIndType;
479
480/*---------------------------------------------------------------------------
481 WDI_MicFailureIndType
482---------------------------------------------------------------------------*/
483typedef struct
484{
485 /*current BSSID*/
486 wpt_macAddr bssId;
487
488 /*Source mac address*/
489 wpt_macAddr macSrcAddr;
490
491 /*Transmitter mac address*/
492 wpt_macAddr macTaAddr;
493
494 /*Destination mac address*/
495 wpt_macAddr macDstAddr;
496
497 /*Multicast flag*/
498 wpt_uint8 ucMulticast;
499
500 /*First byte of IV*/
501 wpt_uint8 ucIV1;
502
503 /*Key Id*/
504 wpt_uint8 keyId;
505
506 /*Sequence Number*/
507 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
508
509 /*receive address */
510 wpt_macAddr macRxAddr;
511}WDI_MicFailureIndType;
512
513/*---------------------------------------------------------------------------
514 WDI_CoexIndType
515---------------------------------------------------------------------------*/
516typedef struct
517{
518 wpt_uint32 coexIndType;
519 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
520} WDI_CoexIndType;
521
522/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530523 WDI_DHCPInd
524---------------------------------------------------------------------------*/
525
526typedef struct
527{
528 wpt_uint8 device_mode;
529 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
530}WDI_DHCPInd;
531
532/*---------------------------------------------------------------------------
533
Jeff Johnson295189b2012-06-20 16:38:30 -0700534 WDI_MacSSid
535---------------------------------------------------------------------------*/
536typedef struct
537{
538 wpt_uint8 ucLength;
539 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
540} WDI_MacSSid;
541
542#ifdef FEATURE_WLAN_SCAN_PNO
543/*---------------------------------------------------------------------------
544 WDI_PrefNetworkFoundInd
545---------------------------------------------------------------------------*/
546typedef struct
547{
548 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700549 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700550 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700551 wpt_uint8 rssi;
552 wpt_uint16 frameLength;
553 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700554} WDI_PrefNetworkFoundInd;
555#endif // FEATURE_WLAN_SCAN_PNO
556
Jeff Johnson295189b2012-06-20 16:38:30 -0700557/*---------------------------------------------------------------------------
558 *WDI_P2pNoaAttrIndType
559 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700560typedef struct
561{
562 wpt_uint8 ucIndex ;
563 wpt_uint8 ucOppPsFlag ;
564 wpt_uint16 usCtWin ;
565
566 wpt_uint16 usNoa1IntervalCnt;
567 wpt_uint16 usRsvd1 ;
568 wpt_uint32 uslNoa1Duration;
569 wpt_uint32 uslNoa1Interval;
570 wpt_uint32 uslNoa1StartTime;
571
572 wpt_uint16 usNoa2IntervalCnt;
573 wpt_uint16 usRsvd2;
574 wpt_uint32 uslNoa2Duration;
575 wpt_uint32 uslNoa2Interval;
576 wpt_uint32 uslNoa2StartTime;
577
578 wpt_uint32 status;
579}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800580
581/*---------------------------------------------------------------------------
582 *WDI_P2pNoaStartIndType
583 *-------------------------------------------------------------------------*/
584typedef struct
585{
586 wpt_uint32 status;
587 wpt_uint32 bssIdx;
588}WDI_P2pNoaStartIndType;
589
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530590/*---------------------------------------------------------------------------
591 *WDI_TdlsIndType
592 *-------------------------------------------------------------------------*/
593typedef struct
594{
595 wpt_uint16 status;
596 wpt_uint16 assocId;
597 wpt_uint16 staIdx;
598 wpt_uint16 reasonCode;
599}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700600
601#ifdef WLAN_WAKEUP_EVENTS
602/*---------------------------------------------------------------------------
603 WDI_WakeReasonIndType
604---------------------------------------------------------------------------*/
605typedef struct
606{
607 wpt_uint32 ulReason; /* see tWakeReasonType */
608 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
609 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
610 HAL truncates the data (i.e. data packets) this length
611 will be less than the actual length */
612 wpt_uint32 ulActualDataLen; /* actual length of data */
613 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
614 see specific wake type */
615} WDI_WakeReasonIndType;
616#endif // WLAN_WAKEUP_EVENTS
617
618/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800619 WDI_MissedBeaconIndType
620-----------------------------------------------------------------------------*/
621typedef struct
622{
623 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
624} WDI_MissedBeaconIndType;
625
Leo Chang9056f462013-08-01 19:21:11 -0700626#ifdef FEATURE_WLAN_LPHB
627/*---------------------------------------------------------------------------
628 WDI_LPHBTimeoutIndData
629-----------------------------------------------------------------------------*/
630typedef struct
631{
632 wpt_uint8 bssIdx;
633 wpt_uint8 sessionIdx;
634 wpt_uint8 protocolType; /*TCP or UDP*/
635 wpt_uint8 eventReason;
636} WDI_LPHBTimeoutIndData;
637#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800638
Yue Mab9c86f42013-08-14 15:59:08 -0700639/*-----------------------------------------------------------------------------
640WDI_PeriodicTxPtrnFwIndType
641-----------------------------------------------------------------------------*/
642typedef struct
643{
644 wpt_uint8 bssIdx;
645 wpt_uint32 selfStaIdx;
646 wpt_uint32 status;
647 wpt_uint32 patternIdBitmap;
648} WDI_PeriodicTxPtrnFwIndType;
649
Rajeev79dbe4c2013-10-05 11:03:42 +0530650#ifdef FEATURE_WLAN_BATCH_SCAN
651/*---------------------------------------------------------------------------
652 WDI_SetBatchScanReqType
653---------------------------------------------------------------------------*/
654typedef struct
655{
656 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
657 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
658 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
659 wpt_uint8 rfBand; /* band to scan :
660 0 ->both Band, 1->2.4Ghz Only
661 and 2-> 5GHz Only */
662 wpt_uint32 rtt; /* set if required to do RTT it is not
663 supported in current version */
664}WDI_SetBatchScanReqType;
665
666/*---------------------------------------------------------------------------
667 WDI_SetBatchScanRspType
668---------------------------------------------------------------------------*/
669typedef struct
670{
671 /*max number of scans which FW can cache*/
672 wpt_uint32 nScansToBatch;
673}WDI_SetBatchScanRspType;
674
675/*---------------------------------------------------------------------------
676 WDI_TriggerBatchScanResultIndType
677---------------------------------------------------------------------------*/
678typedef struct
679{
680 wpt_uint32 param;
681}WDI_TriggerBatchScanResultIndType;
682
683/*---------------------------------------------------------------------------
684 WDI_StopBatchScanIndType
685---------------------------------------------------------------------------*/
686typedef struct
687{
688 /*max number of scans which FW can cache*/
689 wpt_uint32 param;
690}WDI_StopBatchScanIndType;
691
692
693/*---------------------------------------------------------------------------
694 * WDI_BatchScanResultIndType
695 *--------------------------------------------------------------------------*/
696typedef struct
697{
698 wpt_uint32 bssid[6]; /* BSSID */
699 wpt_uint32 ssid[32]; /* SSID */
700 wpt_uint32 ch; /* Channel */
701 wpt_uint32 rssi; /* RSSI or Level */
702 /* Timestamp when Network was found. Used to calculate age based on
703 timestamp in GET_RSP msg header */
704 wpt_uint32 timestamp;
705} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
706
707typedef struct
708{
709 wpt_uint32 scanId; /*Scan List ID*/
710 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
711 wpt_uint32 numNetworksInScanList;
712 /*Variable data ptr: Number of AP in Scan List*/
713 wpt_uint32 scanList[1];
714} tWDIBatchScanList, *tpWDIBatchScanList;
715
716typedef struct
717{
718 wpt_uint32 timestamp;
719 wpt_uint32 numScanLists;
720 wpt_boolean isLastResult;
721 /* Variable Data ptr: Number of Scan Lists*/
722 wpt_uint32 scanResults[1];
723} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
724
725#endif
726
727
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800728/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700729 WDI_IbssPeerInactivityIndType
730-----------------------------------------------------------------------------*/
731typedef struct
732{
733 wpt_uint8 bssIdx;
734 wpt_uint8 staIdx;
735 wpt_macAddr staMacAddr;
736}WDI_IbssPeerInactivityIndType;
737
738/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700739 WDI_TxRateFlags
740-----------------------------------------------------------------------------*/
741typedef enum
742{
743 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
744 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
745 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
746 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
747 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
748 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
749 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
750 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
751 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
752} WDI_TxRateFlags;
753
754/*---------------------------------------------------------------------------
755 WDI_RateUpdateIndParams
756-----------------------------------------------------------------------------*/
757typedef struct
758{
759 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
760 * param ucastDataRate can be used to control RA behavior of unicast data to
761 */
762 wpt_int32 ucastDataRate;
763
764 /* TX flag to differentiate between HT20, HT40 etc */
765 WDI_TxRateFlags ucastDataRateTxFlag;
766
767 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
768 wpt_macAddr bssid;
769
770 /*
771 * 0 implies MCAST RA, positive value implies fixed rate,
772 * -1 implies ignore this param
773 */
774 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
775
776 /* TX flag to differentiate between HT20, HT40 etc */
777 WDI_TxRateFlags reliableMcastDataRateTxFlag;
778
779 /*
780 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
781 * 0 implies ignore
782 */
783 wpt_uint32 mcastDataRate24GHz;
784
785 /* TX flag to differentiate between HT20, HT40 etc */
786 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
787
788 /*
789 * MCAST(or BCAST) fixed data rate in 5 GHz,
790 * unit Mbpsx10, 0 implies ignore
791 */
792 wpt_uint32 mcastDataRate5GHz;
793
794 /* TX flag to differentiate between HT20, HT40 etc */
795 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
796
797 /*
798 * Request status callback offered by UMAC - it is called if the current
799 * req has returned PENDING as status; it delivers the status of sending
800 * the message over the BUS
801 */
802 WDI_ReqStatusCb wdiReqStatusCB;
803
804 /*
805 * The user data passed in by UMAC, it will be sent back when the above
806 * function pointer will be called
807 */
808 void *pUserData;
809
810} WDI_RateUpdateIndParams;
811
Abhishek Singh85b74712014-10-08 11:38:19 +0530812typedef struct
813{
814 wpt_uint32 ubsp_enter_cnt;
815 wpt_uint32 ubsp_jump_ddr_cnt;
816}ubspFwStats;
817
818typedef struct
819{
820 wpt_uint32 type;
821 /*data*/
822 union{
823 ubspFwStats ubspStats;
824 }wdiFwStatsData;
825} WDI_FWStatsResults;
826
Leo Chang0b0e45a2013-12-15 15:18:55 -0800827#ifdef FEATURE_WLAN_CH_AVOID
828#define WDI_CH_AVOID_MAX_RANGE 4
829
830typedef struct
831{
832 wpt_uint32 startFreq;
833 wpt_uint32 endFreq;
834} WDI_ChAvoidFreqType;
835
836typedef struct
837{
838 wpt_uint32 avoidRangeCount;
839 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
840} WDI_ChAvoidIndType;
841#endif /* FEATURE_WLAN_CH_AVOID */
842
Dino Mycled3d50022014-07-07 12:58:25 +0530843#ifdef WLAN_FEATURE_LINK_LAYER_STATS
844typedef struct
845{
846 void *pLinkLayerStatsResults;
847 wpt_macAddr macAddr;
848} WDI_LinkLayerStatsResults;
849
850#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530851
852typedef struct
853{
854 /*STA Index*/
855 wpt_uint16 staIdx;
856
857 /*Peer MAC*/
858 wpt_macAddr peerMacAddr;
859
860 // TID for which a BA session timeout is being triggered
861 wpt_uint8 baTID;
862 // DELBA direction
863 // 1 - Originator
864 // 0 - Recipient
865 wpt_uint8 baDirection;
866 wpt_uint32 reasonCode;
867 /*MAC ADDR of STA*/
868 wpt_macAddr bssId; // TO SUPPORT BT-AMP
869} WDI_DeleteBAIndType;
870
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700871/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700872 WDI_LowLevelIndType
873 Inidcation type and information about the indication being carried
874 over
875---------------------------------------------------------------------------*/
876typedef struct
877{
878 /*Inidcation type*/
879 WDI_LowLevelIndEnumType wdiIndicationType;
880
881 /*Indication data*/
882 union
883 {
884 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
885 WDI_LowRSSIThIndType wdiLowRSSIInfo;
886
887 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
888 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
889
890 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
891 WDI_MicFailureIndType wdiMICFailureInfo;
892
893 /*Error code for WDI_FATAL_ERROR_IND*/
894 wpt_uint16 usErrorCode;
895
896 /*Delete STA Indication*/
897 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
898
899 /*Coex Indication*/
900 WDI_CoexIndType wdiCoexInfo;
901
902 /* Tx Complete Indication */
903 wpt_uint32 tx_complete_status;
904
Jeff Johnson295189b2012-06-20 16:38:30 -0700905 /* P2P NOA ATTR Indication */
906 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800907 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530908 /* TDLS Indications */
909 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700910
911
912#ifdef FEATURE_WLAN_SCAN_PNO
913 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
914#endif // FEATURE_WLAN_SCAN_PNO
915
916#ifdef WLAN_WAKEUP_EVENTS
917 WDI_WakeReasonIndType wdiWakeReasonInd;
918#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800919 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700920
Leo Chang9056f462013-08-01 19:21:11 -0700921#ifdef FEATURE_WLAN_LPHB
922 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
923#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700924
925 /* IBSS Peer Inactivity Indication */
926 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
927
Yue Mab9c86f42013-08-14 15:59:08 -0700928 /* Periodic TX Pattern FW Indication */
929 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530930
931#ifdef FEATURE_WLAN_BATCH_SCAN
932 /*batch scan result indication from FW*/
933 void *pBatchScanResult;
934#endif
935
Leo Chang0b0e45a2013-12-15 15:18:55 -0800936#ifdef FEATURE_WLAN_CH_AVOID
937 WDI_ChAvoidIndType wdiChAvoidInd;
938#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530939
940#ifdef WLAN_FEATURE_LINK_LAYER_STATS
941 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530942 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530943#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530944#ifdef WLAN_FEATURE_EXTSCAN
945 /*EXTSCAN Results from FW*/
946 void *pEXTScanIndData;
947#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530948 WDI_DeleteBAIndType wdiDeleteBAInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700949 } wdiIndicationData;
950}WDI_LowLevelIndType;
951
952/*---------------------------------------------------------------------------
953 WDI_LowLevelIndCBType
954
955 DESCRIPTION
956
957 This callback is invoked by DAL to deliver to UMAC certain indications
958 that has either received from the lower device or has generated itself.
959
960 PARAMETERS
961
962 IN
963 pwdiInd: information about the indication sent over
964 pUserData: user data provided by UMAC during registration
965
966
967
968 RETURN VALUE
969 The result code associated with performing the operation
970---------------------------------------------------------------------------*/
971typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
972 void* pUserData);
973
974/*---------------------------------------------------------------------------
975 WDI_DriverType
976---------------------------------------------------------------------------*/
977typedef enum
978{
979 WDI_DRIVER_TYPE_PRODUCTION = 0,
980 WDI_DRIVER_TYPE_MFG = 1,
981 WDI_DRIVER_TYPE_DVT = 2
982} WDI_DriverType;
983
984/*---------------------------------------------------------------------------
985 WDI_StartReqParamsType
986---------------------------------------------------------------------------*/
987typedef struct
988{
989 /*This is a TLV formatted buffer containing all config values that can
990 be set through the DAL Interface
991
992 The TLV is expected to be formatted like this:
993
994 0 7 15 31 ....
995 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
996
997 Or from a C construct point of VU it would look like this:
998
999 typedef struct WPT_PACK_POST
1000 {
1001 #ifdef WPT_BIG_ENDIAN
1002 wpt_uint32 ucCfgId:8;
1003 wpt_uint32 ucCfgLen:8;
1004 wpt_uint32 usReserved:16;
1005 #else
1006 wpt_uint32 usReserved:16;
1007 wpt_uint32 ucCfgLen:8;
1008 wpt_uint32 ucCfgId:8;
1009 #endif
1010
1011 wpt_uint8 ucCfgBody[ucCfgLen];
1012 }WDI_ConfigType;
1013
1014 Multiple such tuplets are to be placed in the config buffer. One for
1015 each required configuration item:
1016
1017 | TLV 1 | TLV2 | ....
1018
1019 The buffer is expected to be a flat area of memory that can be manipulated
1020 with standard memory routines.
1021
1022 For more info please check paragraph 2.3.1 Config Structure from the
1023 HAL LLD.
1024
1025 For a list of accepted configuration list and IDs please look up
1026 wlan_qct_dal_cfg.h
1027
1028 */
1029 void* pConfigBuffer;
1030
1031 /*Length of the config buffer above*/
1032 wpt_uint16 usConfigBufferLen;
1033
1034 /*Production or FTM driver*/
1035 WDI_DriverType wdiDriverType;
1036
1037 /*Should device enable frame translation */
1038 wpt_uint8 bFrameTransEnabled;
1039
1040 /*Request status callback offered by UMAC - it is called if the current
1041 req has returned PENDING as status; it delivers the status of sending
1042 the message over the BUS */
1043 WDI_ReqStatusCb wdiReqStatusCB;
1044
1045 /*The user data passed in by UMAC, it will be sent back when the above
1046 function pointer will be called */
1047 void* pUserData;
1048
1049 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1050 wishes to send something back independent of a request*/
1051 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1052
1053 /*The user data passed in by UMAC, it will be sent back when the indication
1054 function pointer will be called */
1055 void* pIndUserData;
1056}WDI_StartReqParamsType;
1057
1058
1059/*---------------------------------------------------------------------------
1060 WDI_StartRspParamsType
1061---------------------------------------------------------------------------*/
1062typedef struct
1063{
1064 /*Status of the response*/
1065 WDI_Status wdiStatus;
1066
1067 /*Max number of STA supported by the device*/
1068 wpt_uint8 ucMaxStations;
1069
1070 /*Max number of BSS supported by the device*/
1071 wpt_uint8 ucMaxBssids;
1072
1073 /*Version of the WLAN HAL API with which we were compiled*/
1074 WDI_WlanVersionType wlanCompiledVersion;
1075
1076 /*Version of the WLAN HAL API that was reported*/
1077 WDI_WlanVersionType wlanReportedVersion;
1078
1079 /*WCNSS Software version string*/
1080 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1081
1082 /*WCNSS Hardware version string*/
1083 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1084}WDI_StartRspParamsType;
1085
1086
1087/*---------------------------------------------------------------------------
1088 WDI_StopType
1089---------------------------------------------------------------------------*/
1090typedef enum
1091{
1092 /*Device is being stopped due to a reset*/
1093 WDI_STOP_TYPE_SYS_RESET,
1094
1095 /*Device is being stopped due to entering deep sleep*/
1096 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1097
1098 /*Device is being stopped because the RF needs to shut off
1099 (e.g.:Airplane mode)*/
1100 WDI_STOP_TYPE_RF_KILL
1101}WDI_StopType;
1102
1103/*---------------------------------------------------------------------------
1104 WDI_StopReqParamsType
1105---------------------------------------------------------------------------*/
1106typedef struct
1107{
1108
1109 /*The reason for which the device is being stopped*/
1110 WDI_StopType wdiStopReason;
1111
1112 /*Request status callback offered by UMAC - it is called if the current
1113 req has returned PENDING as status; it delivers the status of sending
1114 the message over the BUS */
1115 WDI_ReqStatusCb wdiReqStatusCB;
1116
1117 /*The user data passed in by UMAC, it will be sent back when the above
1118 function pointer will be called */
1119 void* pUserData;
1120}WDI_StopReqParamsType;
1121
1122
1123/*---------------------------------------------------------------------------
1124 WDI_ScanMode
1125---------------------------------------------------------------------------*/
1126typedef enum
1127{
1128 WDI_SCAN_MODE_NORMAL = 0,
1129 WDI_SCAN_MODE_LEARN,
1130 WDI_SCAN_MODE_SCAN,
1131 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001132 WDI_SCAN_MODE_SUSPEND_LINK,
1133 WDI_SCAN_MODE_ROAM_SCAN,
1134 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1135
Jeff Johnson295189b2012-06-20 16:38:30 -07001136} WDI_ScanMode;
1137
1138/*---------------------------------------------------------------------------
1139 WDI_ScanEntry
1140---------------------------------------------------------------------------*/
1141typedef struct
1142{
1143 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1144 wpt_uint8 activeBSScnt;
1145}WDI_ScanEntry;
1146
1147/*---------------------------------------------------------------------------
1148 WDI_InitScanReqInfoType
1149---------------------------------------------------------------------------*/
1150typedef struct
1151{
1152 /*LEARN - AP Role
1153 SCAN - STA Role*/
1154 WDI_ScanMode wdiScanMode;
1155
1156 /*BSSID of the BSS*/
1157 wpt_macAddr macBSSID;
1158
1159 /*Whether BSS needs to be notified*/
1160 wpt_boolean bNotifyBSS;
1161
1162 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1163 CTS to Self). Must always be a valid frame type.*/
1164 wpt_uint8 ucFrameType;
1165
1166 /*UMAC has the option of passing the MAC frame to be used for notifying
1167 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1168 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1169 frameType.*/
1170 wpt_uint8 ucFrameLength;
1171
1172 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1173 WDI_MacMgmtHdr wdiMACMgmtHdr;
1174
1175 /*Entry to hold number of active BSS to send NULL frames before
1176 * initiating SCAN*/
1177 WDI_ScanEntry wdiScanEntry;
1178
1179 /* Flag to enable/disable Single NOA*/
1180 wpt_boolean bUseNOA;
1181
1182 /* Indicates the scan duration (in ms) */
1183 wpt_uint16 scanDuration;
1184
1185}WDI_InitScanReqInfoType;
1186
1187/*---------------------------------------------------------------------------
1188 WDI_InitScanReqParamsType
1189---------------------------------------------------------------------------*/
1190typedef struct
1191{
1192 /*The info associated with the request that needs to be sent over to the
1193 device*/
1194 WDI_InitScanReqInfoType wdiReqInfo;
1195
1196 /*Request status callback offered by UMAC - it is called if the current
1197 req has returned PENDING as status; it delivers the status of sending
1198 the message over the BUS */
1199 WDI_ReqStatusCb wdiReqStatusCB;
1200
1201 /*The user data passed in by UMAC, it will be sent back when the above
1202 function pointer will be called */
1203 void* pUserData;
1204}WDI_InitScanReqParamsType;
1205
1206/*---------------------------------------------------------------------------
1207 WDI_StartScanReqParamsType
1208---------------------------------------------------------------------------*/
1209typedef struct
1210{
1211 /*Indicates the channel to scan*/
1212 wpt_uint8 ucChannel;
1213
1214 /*Request status callback offered by UMAC - it is called if the current
1215 req has returned PENDING as status; it delivers the status of sending
1216 the message over the BUS */
1217 WDI_ReqStatusCb wdiReqStatusCB;
1218
1219 /*The user data passed in by UMAC, it will be sent back when the above
1220 function pointer will be called */
1221 void* pUserData;
1222}WDI_StartScanReqParamsType;
1223
1224/*---------------------------------------------------------------------------
1225 WDI_StartScanRspParamsType
1226---------------------------------------------------------------------------*/
1227typedef struct
1228{
1229 /*Indicates the status of the operation */
1230 WDI_Status wdiStatus;
1231
1232#if defined WLAN_FEATURE_VOWIFI
1233 wpt_uint32 aStartTSF[2];
1234 wpt_int8 ucTxMgmtPower;
1235#endif
1236}WDI_StartScanRspParamsType;
1237
1238/*---------------------------------------------------------------------------
1239 WDI_EndScanReqParamsType
1240---------------------------------------------------------------------------*/
1241typedef struct
1242{
1243 /*Indicates the channel to stop scanning. Not used really. But retained
1244 for symmetry with "start Scan" message. It can also help in error
1245 check if needed.*/
1246 wpt_uint8 ucChannel;
1247
1248 /*Request status callback offered by UMAC - it is called if the current
1249 req has returned PENDING as status; it delivers the status of sending
1250 the message over the BUS */
1251 WDI_ReqStatusCb wdiReqStatusCB;
1252
1253 /*The user data passed in by UMAC, it will be sent back when the above
1254 function pointer will be called */
1255 void* pUserData;
1256}WDI_EndScanReqParamsType;
1257
1258/*---------------------------------------------------------------------------
1259 WDI_PhyChanBondState
1260---------------------------------------------------------------------------*/
1261typedef enum
1262{
1263 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1264 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1265 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001266 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1267#ifdef WLAN_FEATURE_11AC
1268 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1269 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1270 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1271 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1272 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1273 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1274 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1275#endif
1276 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001277} WDI_PhyChanBondState;
1278
1279/*---------------------------------------------------------------------------
1280 WDI_FinishScanReqInfoType
1281---------------------------------------------------------------------------*/
1282typedef struct
1283{
1284 /*LEARN - AP Role
1285 SCAN - STA Role*/
1286 WDI_ScanMode wdiScanMode;
1287
1288 /*Operating channel to tune to.*/
1289 wpt_uint8 ucCurrentOperatingChannel;
1290
1291 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1292 40 MHz extension channel in combination with the control channel*/
1293 WDI_PhyChanBondState wdiCBState;
1294
1295 /*BSSID of the BSS*/
1296 wpt_macAddr macBSSID;
1297
1298 /*Whether BSS needs to be notified*/
1299 wpt_boolean bNotifyBSS;
1300
1301 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1302 CTS to Self). Must always be a valid frame type.*/
1303 wpt_uint8 ucFrameType;
1304
1305 /*UMAC has the option of passing the MAC frame to be used for notifying
1306 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1307 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1308 frameType.*/
1309 wpt_uint8 ucFrameLength;
1310
1311 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1312 WDI_MacMgmtHdr wdiMACMgmtHdr;
1313
1314 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1315 WDI_ScanEntry wdiScanEntry;
1316
1317}WDI_FinishScanReqInfoType;
1318
1319/*---------------------------------------------------------------------------
1320 WDI_SwitchChReqInfoType
1321---------------------------------------------------------------------------*/
1322typedef struct
1323{
1324 /*Indicates the channel to switch to.*/
1325 wpt_uint8 ucChannel;
1326
1327 /*Local power constraint*/
1328 wpt_uint8 ucLocalPowerConstraint;
1329
1330 /*Secondary channel offset */
1331 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1332
1333#ifdef WLAN_FEATURE_VOWIFI
1334 wpt_int8 cMaxTxPower;
1335
1336 /*Self STA Mac address*/
1337 wpt_macAddr macSelfStaMacAddr;
1338#endif
1339 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1340 request has power constraints, this should be applied only to that session */
1341 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1342 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1343 */
1344 wpt_macAddr macBSSId;
1345
1346}WDI_SwitchChReqInfoType;
1347
1348/*---------------------------------------------------------------------------
1349 WDI_SwitchChReqParamsType
1350---------------------------------------------------------------------------*/
1351typedef struct
1352{
1353 /*Channel Info*/
1354 WDI_SwitchChReqInfoType wdiChInfo;
1355
1356 /*Request status callback offered by UMAC - it is called if the current
1357 req has returned PENDING as status; it delivers the status of sending
1358 the message over the BUS */
1359 WDI_ReqStatusCb wdiReqStatusCB;
1360
1361 /*The user data passed in by UMAC, it will be sent back when the above
1362 function pointer will be called */
1363 void* pUserData;
1364}WDI_SwitchChReqParamsType;
1365
1366/*---------------------------------------------------------------------------
1367 WDI_FinishScanReqParamsType
1368---------------------------------------------------------------------------*/
1369typedef struct
1370{
1371 /*Info for the Finish Scan request that will be sent down to the device*/
1372 WDI_FinishScanReqInfoType wdiReqInfo;
1373
1374 /*Request status callback offered by UMAC - it is called if the current
1375 req has returned PENDING as status; it delivers the status of sending
1376 the message over the BUS */
1377 WDI_ReqStatusCb wdiReqStatusCB;
1378
1379 /*The user data passed in by UMAC, it will be sent back when the above
1380 function pointer will be called */
1381 void* pUserData;
1382}WDI_FinishScanReqParamsType;
1383
1384/*---------------------------------------------------------------------------
1385 WDI_JoinReqInfoType
1386---------------------------------------------------------------------------*/
1387typedef struct
1388{
1389 /*Indicates the BSSID to which STA is going to associate*/
1390 wpt_macAddr macBSSID;
1391
1392 /*Indicates the MAC Address of the current Self STA*/
1393 wpt_macAddr macSTASelf;
1394
1395 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1396 wpt_uint32 linkState;
1397
1398 /*Indicates the channel to switch to.*/
1399 WDI_SwitchChReqInfoType wdiChannelInfo;
1400
1401}WDI_JoinReqInfoType;
1402
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001403typedef enum
1404{
1405 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1406 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1407 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1408 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1409 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1410} WDI_ChanSwitchSource;
1411
1412/*---------------------------------------------------------------------------
1413 WDI_SwitchChReqInfoType_V1
1414---------------------------------------------------------------------------*/
1415typedef struct
1416{
1417 /*Indicates the channel to switch to.*/
1418 wpt_uint8 ucChannel;
1419
1420 /*Local power constraint*/
1421 wpt_uint8 ucLocalPowerConstraint;
1422
1423 /*Secondary channel offset */
1424 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1425
1426#ifdef WLAN_FEATURE_VOWIFI
1427 wpt_int8 cMaxTxPower;
1428 /*Self STA Mac address*/
1429 wpt_macAddr macSelfStaMacAddr;
1430#endif
1431 /* VO Wifi comment: BSSID is needed to identify which session
1432 issued this request. As the request has power constraints, this
1433 should be applied only to that session
1434 */
1435 /* V IMP: Keep bssId field at the end of this msg. It is used to
1436 maintain backward compatibility by way of ignoring if using new
1437 host/old FW or old host/new FW since it is at the end of this struct
1438 */
1439 wpt_macAddr macBSSId;
1440 /* Source of Channel Switch */
1441 WDI_ChanSwitchSource channelSwitchSrc;
1442}WDI_SwitchChReqInfoType_V1;
1443
1444/*--------------------------------------------------------------------
1445 WDI_SwitchChReqParamsType_V1
1446----------------------------------------------------------------------*/
1447typedef struct
1448{
1449 /*Channel Info*/
1450 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1451
1452 /*Request status callback offered by UMAC - it is called if the current
1453 req has returned PENDING as status; it delivers the status of sending
1454 the message over the BUS */
1455 WDI_ReqStatusCb wdiReqStatusCB;
1456
1457 /*The user data passed in by UMAC, it will be sent back when the above
1458 function pointer will be called */
1459 void* pUserData;
1460}WDI_SwitchChReqParamsType_V1;
1461
Jeff Johnson295189b2012-06-20 16:38:30 -07001462/*---------------------------------------------------------------------------
1463 WDI_JoinReqParamsType
1464---------------------------------------------------------------------------*/
1465typedef struct
1466{
1467 /*Info for the Join request that will be sent down to the device*/
1468 WDI_JoinReqInfoType wdiReqInfo;
1469
1470 /*Request status callback offered by UMAC - it is called if the current
1471 req has returned PENDING as status; it delivers the status of sending
1472 the message over the BUS */
1473 WDI_ReqStatusCb wdiReqStatusCB;
1474
1475 /*The user data passed in by UMAC, it will be sent back when the above
1476 function pointer will be called */
1477 void* pUserData;
1478}WDI_JoinReqParamsType;
1479
1480/*---------------------------------------------------------------------------
1481 WDI_BssType
1482---------------------------------------------------------------------------*/
1483typedef enum
1484{
1485 WDI_INFRASTRUCTURE_MODE,
1486 WDI_INFRA_AP_MODE, //Added for softAP support
1487 WDI_IBSS_MODE,
1488 WDI_BTAMP_STA_MODE,
1489 WDI_BTAMP_AP_MODE,
1490 WDI_BSS_AUTO_MODE,
1491}WDI_BssType;
1492
1493/*---------------------------------------------------------------------------
1494 WDI_NwType
1495---------------------------------------------------------------------------*/
1496typedef enum
1497{
1498 WDI_11A_NW_TYPE,
1499 WDI_11B_NW_TYPE,
1500 WDI_11G_NW_TYPE,
1501 WDI_11N_NW_TYPE,
1502} WDI_NwType;
1503
1504/*---------------------------------------------------------------------------
1505 WDI_ConfigAction
1506---------------------------------------------------------------------------*/
1507typedef enum
1508{
1509 WDI_ADD_BSS,
1510 WDI_UPDATE_BSS
1511} WDI_ConfigAction;
1512
1513/*---------------------------------------------------------------------------
1514 WDI_HTOperatingMode
1515---------------------------------------------------------------------------*/
1516typedef enum
1517{
1518 WDI_HT_OP_MODE_PURE,
1519 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1520 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1521 WDI_HT_OP_MODE_MIXED
1522
1523} WDI_HTOperatingMode;
1524
1525
1526/*---------------------------------------------------------------------------
1527 WDI_STAEntryType
1528---------------------------------------------------------------------------*/
1529typedef enum
1530{
1531 WDI_STA_ENTRY_SELF,
1532 WDI_STA_ENTRY_PEER,
1533 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001534 WDI_STA_ENTRY_BCAST,
1535#ifdef FEATURE_WLAN_TDLS
1536 WDI_STA_ENTRY_TDLS_PEER,
1537#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001538}WDI_STAEntryType;
1539
1540/*---------------------------------------------------------------------------
1541 WDI_ConfigActionType
1542---------------------------------------------------------------------------*/
1543typedef enum
1544{
1545 WDI_ADD_STA,
1546 WDI_UPDATE_STA
1547} WDI_ConfigActionType;
1548
1549/*----------------------------------------------------------------------------
1550 Each station added has a rate mode which specifies the sta attributes
1551 ----------------------------------------------------------------------------*/
1552typedef enum
1553{
1554 WDI_RESERVED_1 = 0,
1555 WDI_RESERVED_2,
1556 WDI_RESERVED_3,
1557 WDI_11b,
1558 WDI_11bg,
1559 WDI_11a,
1560 WDI_11n,
1561} WDI_RateModeType;
1562
1563/*---------------------------------------------------------------------------
1564 WDI_SupportedRatesType
1565---------------------------------------------------------------------------*/
1566typedef struct
1567{
1568 /*
1569 * For Self STA Entry: this represents Self Mode.
1570 * For Peer Stations, this represents the mode of the peer.
1571 * On Station:
1572 * --this mode is updated when PE adds the Self Entry.
1573 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1574 * ON AP:
1575 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1576 * to indicate the self mode of the AP.
1577 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1578 */
1579
1580 WDI_RateModeType opRateMode;
1581
1582 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1583 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1584 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1585 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1586
1587 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1588 First 26 bits are reserved for those Titan rates and
1589 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1590 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1591
1592 /*
1593 * 0-76 bits used, remaining reserved
1594 * bits 0-15 and 32 should be set.
1595 */
1596 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1597
1598 /*
1599 * RX Highest Supported Data Rate defines the highest data
1600 * rate that the STA is able to receive, in unites of 1Mbps.
1601 * This value is derived from "Supported MCS Set field" inside
1602 * the HT capability element.
1603 */
1604 wpt_uint16 aRxHighestDataRate;
1605
Jeff Johnsone7245742012-09-05 17:12:55 -07001606
1607#ifdef WLAN_FEATURE_11AC
1608 /*Indicates the Maximum MCS that can be received for each number
1609 of spacial streams */
1610 wpt_uint16 vhtRxMCSMap;
1611 /*Indicate the highest VHT data rate that the STA is able to receive*/
1612 wpt_uint16 vhtRxHighestDataRate;
1613 /*Indicates the Maximum MCS that can be transmitted for each number
1614 of spacial streams */
1615 wpt_uint16 vhtTxMCSMap;
1616 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1617 wpt_uint16 vhtTxHighestDataRate;
1618#endif
1619
Jeff Johnson295189b2012-06-20 16:38:30 -07001620} WDI_SupportedRates;
1621
1622/*--------------------------------------------------------------------------
1623 WDI_HTMIMOPowerSaveState
1624 Spatial Multiplexing(SM) Power Save mode
1625 --------------------------------------------------------------------------*/
1626typedef enum
1627{
1628 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1629 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1630 WDI_HT_MIMO_PS_NA = 2, // reserved
1631 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1632} WDI_HTMIMOPowerSaveState;
1633
1634/*---------------------------------------------------------------------------
1635 WDI_ConfigStaReqInfoType
1636---------------------------------------------------------------------------*/
1637typedef struct
1638{
1639 /*BSSID of STA*/
1640 wpt_macAddr macBSSID;
1641
1642 /*ASSOC ID, as assigned by UMAC*/
1643 wpt_uint16 usAssocId;
1644
1645 /*Used for configuration of different HW modules.*/
1646 WDI_STAEntryType wdiSTAType;
1647
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001648 /*STA Index */
1649 wpt_uint8 staIdx;
1650
Jeff Johnson295189b2012-06-20 16:38:30 -07001651 /*Short Preamble Supported.*/
1652 wpt_uint8 ucShortPreambleSupported;
1653
1654 /*MAC Address of STA*/
1655 wpt_macAddr macSTA;
1656
1657 /*Listen interval of the STA*/
1658 wpt_uint16 usListenInterval;
1659
1660 /*Support for 11e/WMM*/
1661 wpt_uint8 ucWMMEnabled;
1662
1663 /*11n HT capable STA*/
1664 wpt_uint8 ucHTCapable;
1665
1666 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1667 wpt_uint8 ucTXChannelWidthSet;
1668
1669 /*RIFS mode 0 - NA, 1 - Allowed*/
1670 wpt_uint8 ucRIFSMode;
1671
1672 /*L-SIG TXOP Protection mechanism
1673 0 - No Support, 1 - Supported
1674 SG - there is global field*/
1675 wpt_uint8 ucLSIGTxopProtection;
1676
1677 /*Max Ampdu Size supported by STA. Device programming.
1678 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1679 wpt_uint8 ucMaxAmpduSize;
1680
1681 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1682 wpt_uint8 ucMaxAmpduDensity;
1683
1684 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1685 wpt_uint8 ucMaxAmsduSize;
1686
1687 /*Short GI support for 40Mhz packets*/
1688 wpt_uint8 ucShortGI40Mhz;
1689
1690 /*Short GI support for 20Mhz packets*/
1691 wpt_uint8 ucShortGI20Mhz;
1692
1693 /*These rates are the intersection of peer and self capabilities.*/
1694 WDI_SupportedRates wdiSupportedRates;
1695
1696 /*Robust Management Frame (RMF) enabled/disabled*/
1697 wpt_uint8 ucRMFEnabled;
1698
1699 /* The unicast encryption type in the association */
1700 wpt_uint32 ucEncryptType;
1701
1702 /*HAL should update the existing STA entry, if this flag is set. UMAC
1703 will set this flag in case of RE-ASSOC, where we want to reuse the old
1704 STA ID.*/
1705 WDI_ConfigActionType wdiAction;
1706
1707 /*U-APSD Flags: 1b per AC. Encoded as follows:
1708 b7 b6 b5 b4 b3 b2 b1 b0 =
1709 X X X X BE BK VI VO
1710 */
1711 wpt_uint8 ucAPSD;
1712
1713 /*Max SP Length*/
1714 wpt_uint8 ucMaxSPLen;
1715
1716 /*11n Green Field preamble support*/
1717 wpt_uint8 ucGreenFieldCapable;
1718
1719 /*MIMO Power Save mode*/
1720 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1721
1722 /*Delayed BA Support*/
1723 wpt_uint8 ucDelayedBASupport;
1724
1725 /*Max AMPDU duration in 32us*/
1726 wpt_uint8 us32MaxAmpduDuratio;
1727
1728 /*HT STA should set it to 1 if it is enabled in BSS
1729 HT STA should set it to 0 if AP does not support it. This indication is
1730 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1731 */
1732 wpt_uint8 ucDsssCckMode40Mhz;
1733
1734 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001735#ifdef WLAN_FEATURE_11AC
1736 wpt_uint8 ucVhtCapableSta;
1737 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001738 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301739 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001740#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001741
1742 wpt_uint8 ucHtLdpcEnabled;
1743 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001744}WDI_ConfigStaReqInfoType;
1745
1746
1747/*---------------------------------------------------------------------------
1748 WDI_RateSet
1749
1750 12 Bytes long because this structure can be used to represent rate
1751 and extended rate set IEs
1752 The parser assume this to be at least 12
1753---------------------------------------------------------------------------*/
1754#define WDI_RATESET_EID_MAX 12
1755
1756typedef struct
1757{
1758 wpt_uint8 ucNumRates;
1759 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1760} WDI_RateSet;
1761
1762/*---------------------------------------------------------------------------
1763 WDI_AciAifsnType
1764 access category record
1765---------------------------------------------------------------------------*/
1766typedef struct
1767{
1768 wpt_uint8 rsvd : 1;
1769 wpt_uint8 aci : 2;
1770 wpt_uint8 acm : 1;
1771 wpt_uint8 aifsn : 4;
1772} WDI_AciAifsnType;
1773
1774/*---------------------------------------------------------------------------
1775 WDI_CWType
1776 contention window size
1777---------------------------------------------------------------------------*/
1778typedef struct
1779{
1780 wpt_uint8 max : 4;
1781 wpt_uint8 min : 4;
1782} WDI_CWType;
1783
1784/*---------------------------------------------------------------------------
1785 WDI_EdcaParamRecord
1786---------------------------------------------------------------------------*/
1787typedef struct
1788{
1789 /*Access Category Record*/
1790 WDI_AciAifsnType wdiACI;
1791
1792 /*Contention WIndow Size*/
1793 WDI_CWType wdiCW;
1794
1795 /*TX Oportunity Limit*/
1796 wpt_uint16 usTXOPLimit;
1797} WDI_EdcaParamRecord;
1798
1799/*---------------------------------------------------------------------------
1800 WDI_EDCAParamsType
1801---------------------------------------------------------------------------*/
1802typedef struct
1803{
1804 /*BSS Index*/
1805 wpt_uint8 ucBSSIdx;
1806
1807 /*?*/
1808 wpt_boolean bHighPerformance;
1809
1810 /*Best Effort*/
1811 WDI_EdcaParamRecord wdiACBE;
1812
1813 /*Background*/
1814 WDI_EdcaParamRecord wdiACBK;
1815
1816 /*Video*/
1817 WDI_EdcaParamRecord wdiACVI;
1818
1819 /*Voice*/
1820 WDI_EdcaParamRecord acvo; // voice
1821} WDI_EDCAParamsType;
1822
1823/* operMode in ADD BSS message */
1824#define WDI_BSS_OPERATIONAL_MODE_AP 0
1825#define WDI_BSS_OPERATIONAL_MODE_STA 1
1826
1827/*---------------------------------------------------------------------------
1828 WDI_ConfigBSSRspParamsType
1829---------------------------------------------------------------------------*/
1830typedef struct
1831{
1832 /*Status of the response*/
1833 WDI_Status wdiStatus;
1834
1835 /*BSSID of the BSS*/
1836 wpt_macAddr macBSSID;
1837
1838 /*BSS Index*/
1839 wpt_uint8 ucBSSIdx;
1840
1841 /*Unicast DPU signature*/
1842 wpt_uint8 ucUcastSig;
1843
1844 /*Broadcast DPU Signature*/
1845 wpt_uint8 ucBcastSig;
1846
1847 /*MAC Address of STA*/
1848 wpt_macAddr macSTA;
1849
1850 /*BSS STA ID*/
1851 wpt_uint8 ucSTAIdx;
1852
1853#ifdef WLAN_FEATURE_VOWIFI
1854 /*HAL fills in the tx power used for mgmt frames in this field */
1855 wpt_int8 ucTxMgmtPower;
1856#endif
1857
1858}WDI_ConfigBSSRspParamsType;
1859
1860/*---------------------------------------------------------------------------
1861 WDI_DelBSSReqParamsType
1862---------------------------------------------------------------------------*/
1863typedef struct
1864{
1865 /*BSS Index of the BSS*/
1866 wpt_uint8 ucBssIdx;
1867
1868 /*Request status callback offered by UMAC - it is called if the current
1869 req has returned PENDING as status; it delivers the status of sending
1870 the message over the BUS */
1871 WDI_ReqStatusCb wdiReqStatusCB;
1872
1873 /*The user data passed in by UMAC, it will be sent back when the above
1874 function pointer will be called */
1875 void* pUserData;
1876}WDI_DelBSSReqParamsType;
1877
1878/*---------------------------------------------------------------------------
1879 WDI_DelBSSRspParamsType
1880---------------------------------------------------------------------------*/
1881typedef struct
1882{
1883 /*Status of the response*/
1884 WDI_Status wdiStatus;
1885
1886 /*BSSID of the BSS*/
1887 wpt_macAddr macBSSID;
1888
1889 wpt_uint8 ucBssIdx;
1890
1891}WDI_DelBSSRspParamsType;
1892
1893/*---------------------------------------------------------------------------
1894 WDI_ConfigSTARspParamsType
1895---------------------------------------------------------------------------*/
1896typedef struct
1897{
1898 /*Status of the response*/
1899 WDI_Status wdiStatus;
1900
1901 /*STA Idx allocated by HAL*/
1902 wpt_uint8 ucSTAIdx;
1903
1904 /*MAC Address of STA*/
1905 wpt_macAddr macSTA;
1906
1907 /* BSSID Index of BSS to which the station is associated */
1908 wpt_uint8 ucBssIdx;
1909
1910 /* DPU Index - PTK */
1911 wpt_uint8 ucDpuIndex;
1912
1913 /* Bcast DPU Index - GTK */
1914 wpt_uint8 ucBcastDpuIndex;
1915
1916 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1917 wpt_uint8 ucBcastMgmtDpuIdx;
1918
1919 /*Unicast DPU signature*/
1920 wpt_uint8 ucUcastSig;
1921
1922 /*Broadcast DPU Signature*/
1923 wpt_uint8 ucBcastSig;
1924
1925 /* IGTK DPU signature*/
1926 wpt_uint8 ucMgmtSig;
1927
1928}WDI_ConfigSTARspParamsType;
1929
1930/*---------------------------------------------------------------------------
1931 WDI_PostAssocRspParamsType
1932---------------------------------------------------------------------------*/
1933typedef struct
1934{
1935 /*Status of the response*/
1936 WDI_Status wdiStatus;
1937
1938 /*Parameters related to the BSS*/
1939 WDI_ConfigBSSRspParamsType bssParams;
1940
1941 /*Parameters related to the self STA*/
1942 WDI_ConfigSTARspParamsType staParams;
1943
1944}WDI_PostAssocRspParamsType;
1945
1946/*---------------------------------------------------------------------------
1947 WDI_DelSTAReqParamsType
1948---------------------------------------------------------------------------*/
1949typedef struct
1950{
1951 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1952 wpt_uint8 ucSTAIdx;
1953
1954 /*Request status callback offered by UMAC - it is called if the current
1955 req has returned PENDING as status; it delivers the status of sending
1956 the message over the BUS */
1957 WDI_ReqStatusCb wdiReqStatusCB;
1958
1959 /*The user data passed in by UMAC, it will be sent back when the above
1960 function pointer will be called */
1961 void* pUserData;
1962}WDI_DelSTAReqParamsType;
1963
1964/*---------------------------------------------------------------------------
1965 WDI_DelSTARspParamsType
1966---------------------------------------------------------------------------*/
1967typedef struct
1968{
1969 /*Status of the response*/
1970 WDI_Status wdiStatus;
1971
1972 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1973 wpt_uint8 ucSTAIdx;
1974}WDI_DelSTARspParamsType;
1975
1976/*---------------------------------------------------------------------------
1977 WDI_EncryptType
1978---------------------------------------------------------------------------*/
1979typedef enum
1980{
1981 WDI_ENCR_NONE,
1982 WDI_ENCR_WEP40,
1983 WDI_ENCR_WEP104,
1984 WDI_ENCR_TKIP,
1985 WDI_ENCR_CCMP,
1986#if defined(FEATURE_WLAN_WAPI)
1987 WDI_ENCR_WPI,
1988#endif
1989 WDI_ENCR_AES_128_CMAC
1990} WDI_EncryptType;
1991
1992/*---------------------------------------------------------------------------
1993 WDI_KeyDirectionType
1994---------------------------------------------------------------------------*/
1995typedef enum
1996{
1997 WDI_TX_ONLY,
1998 WDI_RX_ONLY,
1999 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002000 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002001 WDI_DONOT_USE_KEY_DIRECTION
2002} WDI_KeyDirectionType;
2003
2004#define WDI_MAX_ENCR_KEYS 4
2005#define WDI_MAX_KEY_LENGTH 32
2006#if defined(FEATURE_WLAN_WAPI)
2007#define WDI_MAX_KEY_RSC_LEN 16
2008#define WDI_WAPI_KEY_RSC_LEN 16
2009#else
2010#define WDI_MAX_KEY_RSC_LEN 8
2011#endif
2012
2013typedef struct
2014{
2015 /* Key ID */
2016 wpt_uint8 keyId;
2017 /* 0 for multicast */
2018 wpt_uint8 unicast;
2019 /* Key Direction */
2020 WDI_KeyDirectionType keyDirection;
2021 /* Usage is unknown */
2022 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2023 /* =1 for authenticator, =0 for supplicant */
2024 wpt_uint8 paeRole;
2025 wpt_uint16 keyLength;
2026 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2027
2028}WDI_KeysType;
2029
2030/*---------------------------------------------------------------------------
2031 WDI_SetBSSKeyReqInfoType
2032---------------------------------------------------------------------------*/
2033typedef struct
2034{
2035 /*BSS Index of the BSS*/
2036 wpt_uint8 ucBssIdx;
2037
2038 /*Encryption Type used with peer*/
2039 WDI_EncryptType wdiEncType;
2040
2041 /*Number of keys*/
2042 wpt_uint8 ucNumKeys;
2043
2044 /*Array of keys.*/
2045 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2046
2047 /*Control for Replay Count, 1= Single TID based replay count on Tx
2048 0 = Per TID based replay count on TX */
2049 wpt_uint8 ucSingleTidRc;
2050}WDI_SetBSSKeyReqInfoType;
2051
2052/*---------------------------------------------------------------------------
2053 WDI_SetBSSKeyReqParamsType
2054---------------------------------------------------------------------------*/
2055typedef struct
2056{
2057 /*Key Info */
2058 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2059
2060 /*Request status callback offered by UMAC - it is called if the current
2061 req has returned PENDING as status; it delivers the status of sending
2062 the message over the BUS */
2063 WDI_ReqStatusCb wdiReqStatusCB;
2064
2065 /*The user data passed in by UMAC, it will be sent back when the above
2066 function pointer will be called */
2067 void* pUserData;
2068}WDI_SetBSSKeyReqParamsType;
2069
2070/*---------------------------------------------------------------------------
2071 WDI_WepType
2072---------------------------------------------------------------------------*/
2073typedef enum
2074{
2075 WDI_WEP_STATIC,
2076 WDI_WEP_DYNAMIC
2077
2078} WDI_WepType;
2079
2080/*---------------------------------------------------------------------------
2081 WDI_RemoveBSSKeyReqInfoType
2082---------------------------------------------------------------------------*/
2083typedef struct
2084{
2085 /*BSS Index of the BSS*/
2086 wpt_uint8 ucBssIdx;
2087
2088 /*Encryption Type used with peer*/
2089 WDI_EncryptType wdiEncType;
2090
2091 /*Key Id*/
2092 wpt_uint8 ucKeyId;
2093
2094 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2095 keys*/
2096 WDI_WepType wdiWEPType;
2097}WDI_RemoveBSSKeyReqInfoType;
2098
2099/*---------------------------------------------------------------------------
2100 WDI_RemoveBSSKeyReqParamsType
2101---------------------------------------------------------------------------*/
2102typedef struct
2103{
2104 /*Key Info */
2105 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2106
2107 /*Request status callback offered by UMAC - it is called if the current
2108 req has returned PENDING as status; it delivers the status of sending
2109 the message over the BUS */
2110 WDI_ReqStatusCb wdiReqStatusCB;
2111
2112 /*The user data passed in by UMAC, it will be sent back when the above
2113 function pointer will be called */
2114 void* pUserData;
2115}WDI_RemoveBSSKeyReqParamsType;
2116
2117/*---------------------------------------------------------------------------
2118 WDI_SetSTAKeyReqInfoType
2119---------------------------------------------------------------------------*/
2120typedef struct
2121{
2122 /*STA Index*/
2123 wpt_uint8 ucSTAIdx;
2124
2125 /*Encryption Type used with peer*/
2126 WDI_EncryptType wdiEncType;
2127
2128 /*STATIC/DYNAMIC*/
2129 WDI_WepType wdiWEPType;
2130
2131 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2132 wpt_uint8 ucDefWEPIdx;
2133
2134 /*Number of keys*/
2135 wpt_uint8 ucNumKeys;
2136
2137 /*Array of keys.*/
2138 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2139
2140 /*Control for Replay Count, 1= Single TID based replay count on Tx
2141 0 = Per TID based replay count on TX */
2142 wpt_uint8 ucSingleTidRc;
2143}WDI_SetSTAKeyReqInfoType;
2144
2145/*---------------------------------------------------------------------------
2146 WDI_ConfigBSSReqInfoType
2147---------------------------------------------------------------------------*/
2148typedef struct
2149{
2150 /*Peer BSSID*/
2151 wpt_macAddr macBSSID;
2152
2153 /*Self MAC Address*/
2154 wpt_macAddr macSelfAddr;
2155
2156 /*BSS Type*/
2157 WDI_BssType wdiBSSType;
2158
2159 /*Operational Mode: AP =0, STA = 1*/
2160 wpt_uint8 ucOperMode;
2161
2162 /*Network Type*/
2163 WDI_NwType wdiNWType;
2164
2165 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2166 wpt_uint8 ucShortSlotTimeSupported;
2167
2168 /*Co-exist with 11a STA*/
2169 wpt_uint8 ucllaCoexist;
2170
2171 /*Co-exist with 11b STA*/
2172 wpt_uint8 ucllbCoexist;
2173
2174 /*Co-exist with 11g STA*/
2175 wpt_uint8 ucllgCoexist;
2176
2177 /*Coexistence with 11n STA*/
2178 wpt_uint8 ucHT20Coexist;
2179
2180 /*Non GF coexist flag*/
2181 wpt_uint8 ucllnNonGFCoexist;
2182
2183 /*TXOP protection support*/
2184 wpt_uint8 ucTXOPProtectionFullSupport;
2185
2186 /*RIFS mode*/
2187 wpt_uint8 ucRIFSMode;
2188
2189 /*Beacon Interval in TU*/
2190 wpt_uint16 usBeaconInterval;
2191
2192 /*DTIM period*/
2193 wpt_uint8 ucDTIMPeriod;
2194
2195 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2196 wpt_uint8 ucTXChannelWidthSet;
2197
2198 /*Operating channel*/
2199 wpt_uint8 ucCurrentOperChannel;
2200
2201 /*Extension channel for channel bonding*/
2202 wpt_uint8 ucCurrentExtChannel;
2203
2204 /*Context of the station being added in HW.*/
2205 WDI_ConfigStaReqInfoType wdiSTAContext;
2206
2207 /*SSID of the BSS*/
2208 WDI_MacSSid wdiSSID;
2209
2210 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2211 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2212 WDI_ConfigAction wdiAction;
2213
2214 /*Basic Rate Set*/
2215 WDI_RateSet wdiRateSet;
2216
2217 /*Enable/Disable HT capabilities of the BSS*/
2218 wpt_uint8 ucHTCapable;
2219
2220 /* Enable/Disable OBSS protection */
2221 wpt_uint8 ucObssProtEnabled;
2222
2223 /*RMF enabled/disabled*/
2224 wpt_uint8 ucRMFEnabled;
2225
2226 /*Determines the current HT Operating Mode operating mode of the
2227 802.11n STA*/
2228 WDI_HTOperatingMode wdiHTOperMod;
2229
2230 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2231 wpt_uint8 ucDualCTSProtection;
2232
2233 /* Probe Response Max retries */
2234 wpt_uint8 ucMaxProbeRespRetryLimit;
2235
2236 /* To Enable Hidden ssid */
2237 wpt_uint8 bHiddenSSIDEn;
2238
2239 /* To Enable Disable FW Proxy Probe Resp */
2240 wpt_uint8 bProxyProbeRespEn;
2241
2242 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2243 EDCA params or might not desire to apply EDCA params during config BSS.
2244 0 implies Not Valid ; Non-Zero implies valid*/
2245 wpt_uint8 ucEDCAParamsValid;
2246
2247 /*EDCA Parameters for BK*/
2248 WDI_EdcaParamRecord wdiBKEDCAParams;
2249
2250 /*EDCA Parameters for BE*/
2251 WDI_EdcaParamRecord wdiBEEDCAParams;
2252
2253 /*EDCA Parameters for VI*/
2254 WDI_EdcaParamRecord wdiVIEDCAParams;
2255
2256 /*EDCA Parameters for VO*/
2257 WDI_EdcaParamRecord wdiVOEDCAParams;
2258
2259#ifdef WLAN_FEATURE_VOWIFI
2260 /*max power to be used after applying the power constraint, if any */
2261 wpt_int8 cMaxTxPower;
2262#endif
2263
2264 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2265 wpt_uint8 ucPersona;
2266
2267 /* Spectrum Mangement Indicator */
2268 wpt_uint8 bSpectrumMgtEn;
2269
2270#ifdef WLAN_FEATURE_VOWIFI_11R
2271 wpt_uint8 bExtSetStaKeyParamValid;
2272 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2273#endif
2274
Jeff Johnsone7245742012-09-05 17:12:55 -07002275#ifdef WLAN_FEATURE_11AC
2276 wpt_uint8 ucVhtCapableSta;
2277 wpt_uint8 ucVhtTxChannelWidthSet;
2278#endif
2279
Jeff Johnson295189b2012-06-20 16:38:30 -07002280}WDI_ConfigBSSReqInfoType;
2281
2282/*---------------------------------------------------------------------------
2283 WDI_PostAssocReqParamsType
2284---------------------------------------------------------------------------*/
2285typedef struct
2286{
2287 /*Config STA arguments.*/
2288 WDI_ConfigStaReqInfoType wdiSTAParams;
2289
2290 /*Config BSS Arguments*/
2291 WDI_ConfigBSSReqInfoType wdiBSSParams;
2292
2293 /*Request status callback offered by UMAC - it is called if the current
2294 req has returned PENDING as status; it delivers the status of sending
2295 the message over the BUS */
2296 WDI_ReqStatusCb wdiReqStatusCB;
2297
2298 /*The user data passed in by UMAC, it will be sent back when the above
2299 function pointer will be called */
2300 void* pUserData;
2301}WDI_PostAssocReqParamsType;
2302
2303/*---------------------------------------------------------------------------
2304 WDI_ConfigBSSReqParamsType
2305---------------------------------------------------------------------------*/
2306typedef struct
2307{
2308 /*Info for the Join request that will be sent down to the device*/
2309 WDI_ConfigBSSReqInfoType wdiReqInfo;
2310
2311 /*Request status callback offered by UMAC - it is called if the current
2312 req has returned PENDING as status; it delivers the status of sending
2313 the message over the BUS */
2314 WDI_ReqStatusCb wdiReqStatusCB;
2315
2316 /*The user data passed in by UMAC, it will be sent back when the above
2317 function pointer will be called */
2318 void* pUserData;
2319}WDI_ConfigBSSReqParamsType;
2320
2321/*---------------------------------------------------------------------------
2322 WDI_SetSTAKeyReqParamsType
2323---------------------------------------------------------------------------*/
2324typedef struct
2325{
2326 /*Key Info*/
2327 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2328
2329 /*Request status callback offered by UMAC - it is called if the current
2330 req has returned PENDING as status; it delivers the status of sending
2331 the message over the BUS */
2332 WDI_ReqStatusCb wdiReqStatusCB;
2333
2334 /*The user data passed in by UMAC, it will be sent back when the above
2335 function pointer will be called */
2336 void* pUserData;
2337}WDI_SetSTAKeyReqParamsType;
2338
2339/*---------------------------------------------------------------------------
2340 WDI_RemoveSTAKeyReqInfoType
2341---------------------------------------------------------------------------*/
2342typedef struct
2343{
2344 /*STA Index*/
2345 wpt_uint8 ucSTAIdx;
2346
2347 /*Encryption Type used with peer*/
2348 WDI_EncryptType wdiEncType;
2349
2350 /*Key Id*/
2351 wpt_uint8 ucKeyId;
2352
2353 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2354 the same key is used for both broadcast and unicast.*/
2355 wpt_uint8 ucUnicast;
2356}WDI_RemoveSTAKeyReqInfoType;
2357
2358/*---------------------------------------------------------------------------
2359 WDI_RemoveSTAKeyReqParamsType
2360---------------------------------------------------------------------------*/
2361typedef struct
2362{
2363 /*Key Info */
2364 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2365
2366 /*Request status callback offered by UMAC - it is called if the current
2367 req has returned PENDING as status; it delivers the status of sending
2368 the message over the BUS */
2369 WDI_ReqStatusCb wdiReqStatusCB;
2370
2371 /*The user data passed in by UMAC, it will be sent back when the above
2372 function pointer will be called */
2373 void* pUserData;
2374}WDI_RemoveSTAKeyReqParamsType;
2375
2376/*---------------------------------------------------------------------------
2377 QOS Parameters
2378---------------------------------------------------------------------------*/
2379
2380/*---------------------------------------------------------------------------
2381 WDI_TSInfoTfc
2382---------------------------------------------------------------------------*/
2383typedef struct
2384{
2385 wpt_uint16 ackPolicy:2;
2386 wpt_uint16 userPrio:3;
2387 wpt_uint16 psb:1;
2388 wpt_uint16 aggregation : 1;
2389 wpt_uint16 accessPolicy : 2;
2390 wpt_uint16 direction : 2;
2391 wpt_uint16 tsid : 4;
2392 wpt_uint16 trafficType : 1;
2393} WDI_TSInfoTfc;
2394
2395/*---------------------------------------------------------------------------
2396 WDI_TSInfoSch
2397---------------------------------------------------------------------------*/
2398typedef struct
2399{
2400 wpt_uint8 rsvd : 7;
2401 wpt_uint8 schedule : 1;
2402} WDI_TSInfoSch;
2403
2404/*---------------------------------------------------------------------------
2405 WDI_TSInfoType
2406---------------------------------------------------------------------------*/
2407typedef struct
2408{
2409 WDI_TSInfoTfc wdiTraffic;
2410 WDI_TSInfoSch wdiSchedule;
2411} WDI_TSInfoType;
2412
2413/*---------------------------------------------------------------------------
2414 WDI_TspecIEType
2415---------------------------------------------------------------------------*/
2416typedef struct
2417{
2418 wpt_uint8 ucType;
2419 wpt_uint8 ucLength;
2420 WDI_TSInfoType wdiTSinfo;
2421 wpt_uint16 usNomMsduSz;
2422 wpt_uint16 usMaxMsduSz;
2423 wpt_uint32 uMinSvcInterval;
2424 wpt_uint32 uMaxSvcInterval;
2425 wpt_uint32 uInactInterval;
2426 wpt_uint32 uSuspendInterval;
2427 wpt_uint32 uSvcStartTime;
2428 wpt_uint32 uMinDataRate;
2429 wpt_uint32 uMeanDataRate;
2430 wpt_uint32 uPeakDataRate;
2431 wpt_uint32 uMaxBurstSz;
2432 wpt_uint32 uDelayBound;
2433 wpt_uint32 uMinPhyRate;
2434 wpt_uint16 usSurplusBw;
2435 wpt_uint16 usMediumTime;
2436}WDI_TspecIEType;
2437
2438/*---------------------------------------------------------------------------
2439 WDI_AddTSReqInfoType
2440---------------------------------------------------------------------------*/
2441typedef struct
2442{
2443 /*STA Index*/
2444 wpt_uint8 ucSTAIdx;
2445
2446 /*Identifier for TSpec*/
2447 wpt_uint16 ucTspecIdx;
2448
2449 /*Tspec IE negotiated OTA*/
2450 WDI_TspecIEType wdiTspecIE;
2451
2452 /*UAPSD delivery and trigger enabled flags */
2453 wpt_uint8 ucUapsdFlags;
2454
2455 /*SI for each AC*/
2456 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2457
2458 /*Suspend Interval for each AC*/
2459 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2460
2461 /*DI for each AC*/
2462 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2463
2464}WDI_AddTSReqInfoType;
2465
2466
2467/*---------------------------------------------------------------------------
2468 WDI_AddTSReqParamsType
2469---------------------------------------------------------------------------*/
2470typedef struct
2471{
2472 /*TSpec Info */
2473 WDI_AddTSReqInfoType wdiTsInfo;
2474
2475 /*Request status callback offered by UMAC - it is called if the current
2476 req has returned PENDING as status; it delivers the status of sending
2477 the message over the BUS */
2478 WDI_ReqStatusCb wdiReqStatusCB;
2479
2480 /*The user data passed in by UMAC, it will be sent back when the above
2481 function pointer will be called */
2482 void* pUserData;
2483}WDI_AddTSReqParamsType;
2484
2485/*---------------------------------------------------------------------------
2486 WDI_DelTSReqInfoType
2487---------------------------------------------------------------------------*/
2488typedef struct
2489{
2490 /*STA Index*/
2491 wpt_uint8 ucSTAIdx;
2492
2493 /*Identifier for TSpec*/
2494 wpt_uint16 ucTspecIdx;
2495
2496 /*BSSID of the BSS*/
2497 wpt_macAddr macBSSID;
2498}WDI_DelTSReqInfoType;
2499
2500/*---------------------------------------------------------------------------
2501 WDI_DelTSReqParamsType
2502---------------------------------------------------------------------------*/
2503typedef struct
2504{
2505 /*Del TSpec Info*/
2506 WDI_DelTSReqInfoType wdiDelTSInfo;
2507
2508 /*Request status callback offered by UMAC - it is called if the current
2509 req has returned PENDING as status; it delivers the status of sending
2510 the message over the BUS */
2511 WDI_ReqStatusCb wdiReqStatusCB;
2512
2513 /*The user data passed in by UMAC, it will be sent back when the above
2514 function pointer will be called */
2515 void* pUserData;
2516}WDI_DelTSReqParamsType;
2517
2518/*---------------------------------------------------------------------------
2519 WDI_UpdateEDCAInfoType
2520---------------------------------------------------------------------------*/
2521typedef struct
2522{
krunal soni0b366c02013-07-17 19:55:57 -07002523 /*BSS Index of the BSS*/
2524 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002525
Jeff Johnson295189b2012-06-20 16:38:30 -07002526 /*EDCA params for BE*/
2527 WDI_EdcaParamRecord wdiEdcaBEInfo;
2528
2529 /*EDCA params for BK*/
2530 WDI_EdcaParamRecord wdiEdcaBKInfo;
2531
2532 /*EDCA params for VI*/
2533 WDI_EdcaParamRecord wdiEdcaVIInfo;
2534
2535 /*EDCA params for VO*/
2536 WDI_EdcaParamRecord wdiEdcaVOInfo;
2537
2538}WDI_UpdateEDCAInfoType;
2539
2540/*---------------------------------------------------------------------------
2541 WDI_UpdateEDCAParamsType
2542---------------------------------------------------------------------------*/
2543typedef struct
2544{
2545 /*EDCA Info */
2546 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2547
2548 /*Request status callback offered by UMAC - it is called if the current
2549 req has returned PENDING as status; it delivers the status of sending
2550 the message over the BUS */
2551 WDI_ReqStatusCb wdiReqStatusCB;
2552
2553 /*The user data passed in by UMAC, it will be sent back when the above
2554 function pointer will be called */
2555 void* pUserData;
2556}WDI_UpdateEDCAParamsType;
2557
2558/*---------------------------------------------------------------------------
2559 WDI_AddBASessionReqinfoType
2560---------------------------------------------------------------------------*/
2561typedef struct
2562{
2563 /*Indicates the station for which BA is added..*/
2564 wpt_uint8 ucSTAIdx;
2565
2566 /*The peer mac address*/
2567 wpt_macAddr macPeerAddr;
2568
2569 /*TID for which BA was negotiated*/
2570 wpt_uint8 ucBaTID;
2571
2572 /*Delayed or imediate */
2573 wpt_uint8 ucBaPolicy;
2574
2575 /*The number of buffers for this TID (baTID)*/
2576 wpt_uint16 usBaBufferSize;
2577
2578 /*BA timeout in TU's*/
2579 wpt_uint16 usBaTimeout;
2580
2581 /*b0..b3 - Fragment Number - Always set to 0
2582 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2583 wpt_uint16 usBaSSN;
2584
2585 /*Originator/Recipient*/
2586 wpt_uint8 ucBaDirection;
2587
2588}WDI_AddBASessionReqinfoType;
2589
2590
2591/*---------------------------------------------------------------------------
2592 WDI_AddBASessionReqParamsType
2593---------------------------------------------------------------------------*/
2594typedef struct
2595{
2596 /*BA Session Info Type*/
2597 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2598
2599 /*Request status callback offered by UMAC - it is called if the current
2600 req has returned PENDING as status; it delivers the status of sending
2601 the message over the BUS */
2602 WDI_ReqStatusCb wdiReqStatusCB;
2603
2604 /*The user data passed in by UMAC, it will be sent back when the above
2605 function pointer will be called */
2606 void* pUserData;
2607}WDI_AddBASessionReqParamsType;
2608
2609/*---------------------------------------------------------------------------
2610 WDI_AddBASessionRspParamsType
2611---------------------------------------------------------------------------*/
2612typedef struct
2613{
2614 /*Status of the response*/
2615 WDI_Status wdiStatus;
2616
2617 /* Dialog token */
2618 wpt_uint8 ucBaDialogToken;
2619
2620 /* TID for which the BA session has been setup */
2621 wpt_uint8 ucBaTID;
2622
2623 /* BA Buffer Size allocated for the current BA session */
2624 wpt_uint8 ucBaBufferSize;
2625
2626 /* BA session ID */
2627 wpt_uint16 usBaSessionID;
2628
2629 /* Reordering Window buffer */
2630 wpt_uint8 ucWinSize;
2631
2632 /*Station Index to id the sta */
2633 wpt_uint8 ucSTAIdx;
2634
2635 /* Starting Sequence Number */
2636 wpt_uint16 usBaSSN;
2637
2638}WDI_AddBASessionRspParamsType;
2639
2640/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302641 WDI_SpoofMacAddrRspParamType
2642---------------------------------------------------------------------------*/
2643typedef struct
2644{
2645 /* wdi status */
2646 wpt_uint32 wdiStatus;
2647
2648 /* Reserved Field */
2649 wpt_uint32 reserved;
2650
2651}WDI_SpoofMacAddrRspParamType;
2652/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002653 WDI_AddBAReqinfoType
2654---------------------------------------------------------------------------*/
2655typedef struct
2656{
2657 /*Indicates the station for which BA is added..*/
2658 wpt_uint8 ucSTAIdx;
2659
2660 /* Session Id */
2661 wpt_uint8 ucBaSessionID;
2662
2663 /* Reorder Window Size */
2664 wpt_uint8 ucWinSize;
2665
2666#ifdef FEATURE_ON_CHIP_REORDERING
2667 wpt_boolean bIsReorderingDoneOnChip;
2668#endif
2669
2670}WDI_AddBAReqinfoType;
2671
2672
2673/*---------------------------------------------------------------------------
2674 WDI_AddBAReqParamsType
2675---------------------------------------------------------------------------*/
2676typedef struct
2677{
2678 /*BA Info Type*/
2679 WDI_AddBAReqinfoType wdiBAInfoType;
2680
2681 /*Request status callback offered by UMAC - it is called if the current
2682 req has returned PENDING as status; it delivers the status of sending
2683 the message over the BUS */
2684 WDI_ReqStatusCb wdiReqStatusCB;
2685
2686 /*The user data passed in by UMAC, it will be sent back when the above
2687 function pointer will be called */
2688 void* pUserData;
2689}WDI_AddBAReqParamsType;
2690
2691
2692/*---------------------------------------------------------------------------
2693 WDI_AddBARspinfoType
2694---------------------------------------------------------------------------*/
2695typedef struct
2696{
2697 /*Status of the response*/
2698 WDI_Status wdiStatus;
2699
2700 /* Dialog token */
2701 wpt_uint8 ucBaDialogToken;
2702
2703}WDI_AddBARspinfoType;
2704
2705/*---------------------------------------------------------------------------
2706 WDI_TriggerBAReqCandidateType
2707---------------------------------------------------------------------------*/
2708typedef struct
2709{
2710 /* STA index */
2711 wpt_uint8 ucSTAIdx;
2712
2713 /* TID bit map for the STA's*/
2714 wpt_uint8 ucTidBitmap;
2715
2716}WDI_TriggerBAReqCandidateType;
2717
2718
2719/*---------------------------------------------------------------------------
2720 WDI_TriggerBAReqinfoType
2721---------------------------------------------------------------------------*/
2722typedef struct
2723{
2724 /*Indicates the station for which BA is added..*/
2725 wpt_uint8 ucSTAIdx;
2726
2727 /* Session Id */
2728 wpt_uint8 ucBASessionID;
2729
2730 /* Trigger BA Request candidate count */
2731 wpt_uint16 usBACandidateCnt;
2732
2733 /* WDI_TriggerBAReqCandidateType followed by this*/
2734
2735}WDI_TriggerBAReqinfoType;
2736
2737
2738/*---------------------------------------------------------------------------
2739 WDI_TriggerBAReqParamsType
2740---------------------------------------------------------------------------*/
2741typedef struct
2742{
2743 /*BA Trigger Info Type*/
2744 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2745
2746 /*Request status callback offered by UMAC - it is called if the current
2747 req has returned PENDING as status; it delivers the status of sending
2748 the message over the BUS */
2749 WDI_ReqStatusCb wdiReqStatusCB;
2750
2751 /*The user data passed in by UMAC, it will be sent back when the above
2752 function pointer will be called */
2753 void* pUserData;
2754}WDI_TriggerBAReqParamsType;
2755
2756/*---------------------------------------------------------------------------
2757 WDI_AddBAInfoType
2758---------------------------------------------------------------------------*/
2759typedef struct
2760{
2761 wpt_uint16 fBaEnable : 1;
2762 wpt_uint16 startingSeqNum: 12;
2763 wpt_uint16 reserved : 3;
2764}WDI_AddBAInfoType;
2765
2766/*---------------------------------------------------------------------------
2767 WDI_TriggerBARspCandidateType
2768---------------------------------------------------------------------------*/
2769#define STA_MAX_TC 8
2770
2771typedef struct
2772{
2773 /* STA index */
2774 wpt_macAddr macSTA;
2775
2776 /* BA Info */
2777 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2778}WDI_TriggerBARspCandidateType;
2779
2780/*---------------------------------------------------------------------------
2781 WDI_TriggerBARspParamsType
2782---------------------------------------------------------------------------*/
2783typedef struct
2784{
2785 /*Status of the response*/
2786 WDI_Status wdiStatus;
2787
2788 /*BSSID of the BSS*/
2789 wpt_macAddr macBSSID;
2790
2791 /* Trigger BA response candidate count */
2792 wpt_uint16 usBaCandidateCnt;
2793
2794 /* WDI_TriggerBARspCandidateType followed by this*/
2795
2796}WDI_TriggerBARspParamsType;
2797
2798/*---------------------------------------------------------------------------
2799 WDI_DelBAReqinfoType
2800---------------------------------------------------------------------------*/
2801typedef struct
2802{
2803 /*Indicates the station for which BA is added..*/
2804 wpt_uint8 ucSTAIdx;
2805
2806 /*TID for which BA was negotiated*/
2807 wpt_uint8 ucBaTID;
2808
2809 /*Originator/Recipient*/
2810 wpt_uint8 ucBaDirection;
2811
2812}WDI_DelBAReqinfoType;
2813
2814/*---------------------------------------------------------------------------
2815 WDI_DelBAReqParamsType
2816---------------------------------------------------------------------------*/
2817typedef struct
2818{
2819 /*BA Info */
2820 WDI_DelBAReqinfoType wdiBAInfo;
2821
2822 /*Request status callback offered by UMAC - it is called if the current
2823 req has returned PENDING as status; it delivers the status of sending
2824 the message over the BUS */
2825 WDI_ReqStatusCb wdiReqStatusCB;
2826
2827 /*The user data passed in by UMAC, it will be sent back when the above
2828 function pointer will be called */
2829 void* pUserData;
2830}WDI_DelBAReqParamsType;
2831
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002832/*---------------------------------------------------------------------------
2833 WDI_UpdateChannelReqinfoType
2834---------------------------------------------------------------------------*/
2835typedef struct
2836{
2837 /** primary 20 MHz channel frequency in mhz */
2838 wpt_uint32 mhz;
2839 /** Center frequency 1 in MHz*/
2840 wpt_uint32 band_center_freq1;
2841 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2842 wpt_uint32 band_center_freq2;
2843 /* The first 26 bits are a bit mask to indicate any channel flags,
2844 (see WLAN_HAL_CHAN_FLAG*)
2845 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2846 wpt_uint32 channel_info;
2847 /** contains min power, max power, reg power and reg class id. */
2848 wpt_uint32 reg_info_1;
2849 /** contains antennamax */
2850 wpt_uint32 reg_info_2;
2851}WDI_UpdateChannelReqinfoType;
2852
2853typedef struct
2854{
2855 wpt_uint8 numchan;
2856 WDI_UpdateChannelReqinfoType *pchanParam;
2857}WDI_UpdateChannelReqType;
2858/*---------------------------------------------------------------------------
2859 WDI_UpdateChReqParamsType
2860---------------------------------------------------------------------------*/
2861typedef struct
2862{
2863 /*BA Info */
2864 WDI_UpdateChannelReqType wdiUpdateChanParams;
2865
2866 /*Request status callback offered by UMAC - it is called if the current
2867 req has returned PENDING as status; it delivers the status of sending
2868 the message over the BUS */
2869 WDI_ReqStatusCb wdiReqStatusCB;
2870
2871 /*The user data passed in by UMAC, it will be sent back when the above
2872 function pointer will be called */
2873 void* pUserData;
2874}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002875
2876/*---------------------------------------------------------------------------
2877 WDI_SwitchCHRspParamsType
2878---------------------------------------------------------------------------*/
2879typedef struct
2880{
2881 /*Status of the response*/
2882 WDI_Status wdiStatus;
2883
2884 /*Indicates the channel that WLAN is on*/
2885 wpt_uint8 ucChannel;
2886
2887#ifdef WLAN_FEATURE_VOWIFI
2888 /*HAL fills in the tx power used for mgmt frames in this field.*/
2889 wpt_int8 ucTxMgmtPower;
2890#endif
2891
2892}WDI_SwitchCHRspParamsType;
2893
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002894/*--------------------------------------------------------------------
2895 WDI_SwitchChRspParamsType_V1
2896--------------------------------------------------------------------*/
2897typedef struct
2898{
2899 /*Status of the response*/
2900 WDI_Status wdiStatus;
2901
2902 /*Indicates the channel that WLAN is on*/
2903 wpt_uint8 ucChannel;
2904
2905#ifdef WLAN_FEATURE_VOWIFI
2906 /*HAL fills in the tx power used for mgmt frames in this field.*/
2907 wpt_int8 ucTxMgmtPower;
2908#endif
2909
2910 /* Source of Channel Switch */
2911 WDI_ChanSwitchSource channelSwitchSrc;
2912}WDI_SwitchChRspParamsType_V1;
2913
Jeff Johnson295189b2012-06-20 16:38:30 -07002914/*---------------------------------------------------------------------------
2915 WDI_ConfigSTAReqParamsType
2916---------------------------------------------------------------------------*/
2917typedef struct
2918{
2919 /*Info for the Join request that will be sent down to the device*/
2920 WDI_ConfigStaReqInfoType wdiReqInfo;
2921
2922 /*Request status callback offered by UMAC - it is called if the current
2923 req has returned PENDING as status; it delivers the status of sending
2924 the message over the BUS */
2925 WDI_ReqStatusCb wdiReqStatusCB;
2926
2927 /*The user data passed in by UMAC, it will be sent back when the above
2928 function pointer will be called */
2929 void* pUserData;
2930}WDI_ConfigSTAReqParamsType;
2931
2932
2933/*---------------------------------------------------------------------------
2934 WDI_UpdateBeaconParamsInfoType
2935---------------------------------------------------------------------------*/
2936
2937typedef struct
2938{
2939 /*BSS Index of the BSS*/
2940 wpt_uint8 ucBssIdx;
2941
2942 /*shortPreamble mode. HAL should update all the STA rates when it
2943 receives this message*/
2944 wpt_uint8 ucfShortPreamble;
2945 /* short Slot time.*/
2946 wpt_uint8 ucfShortSlotTime;
2947 /* Beacon Interval */
2948 wpt_uint16 usBeaconInterval;
2949 /*Protection related */
2950 wpt_uint8 ucllaCoexist;
2951 wpt_uint8 ucllbCoexist;
2952 wpt_uint8 ucllgCoexist;
2953 wpt_uint8 ucHt20MhzCoexist;
2954 wpt_uint8 ucllnNonGFCoexist;
2955 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2956 wpt_uint8 ucfRIFSMode;
2957
2958 wpt_uint16 usChangeBitmap;
2959}WDI_UpdateBeaconParamsInfoType;
2960
Mohit Khanna4a70d262012-09-11 16:30:12 -07002961#ifdef WLAN_FEATURE_11AC
2962typedef struct
2963{
2964 wpt_uint16 opMode;
2965 wpt_uint16 staId;
2966}WDI_UpdateVHTOpMode;
2967#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002968
2969/*---------------------------------------------------------------------------
2970 WDI_UpdateBeaconParamsType
2971---------------------------------------------------------------------------*/
2972typedef struct
2973{
2974 /*Update Beacon Params Info*/
2975 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2976
2977 /*Request status callback offered by UMAC - it is called if the current
2978 req has returned PENDING as status; it delivers the status of sending
2979 the message over the BUS */
2980 WDI_ReqStatusCb wdiReqStatusCB;
2981
2982 /*The user data passed in by UMAC, it will be sent back when the above
2983 function pointer will be called */
2984 void* pUserData;
2985}WDI_UpdateBeaconParamsType;
2986
2987/*---------------------------------------------------------------------------
2988 WDI_SendBeaconParamsInfoType
2989---------------------------------------------------------------------------*/
2990
2991typedef struct {
2992
2993 /*BSSID of the BSS*/
2994 wpt_macAddr macBSSID;
2995
2996 /* Beacon data */
2997 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2998
2999 /* length of the template */
3000 wpt_uint32 beaconLength;
3001
Jeff Johnson295189b2012-06-20 16:38:30 -07003002 /* TIM IE offset from the beginning of the template.*/
3003 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003004
Jeff Johnson295189b2012-06-20 16:38:30 -07003005 /* P2P IE offset from the beginning of the template */
3006 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003007} WDI_SendBeaconParamsInfoType;
3008
3009/*---------------------------------------------------------------------------
3010 WDI_SendBeaconParamsType
3011---------------------------------------------------------------------------*/
3012typedef struct
3013{
3014 /*Send Beacon Params Info*/
3015 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3016
3017 /*Request status callback offered by UMAC - it is called if the current
3018 req has returned PENDING as status; it delivers the status of sending
3019 the message over the BUS */
3020 WDI_ReqStatusCb wdiReqStatusCB;
3021
3022 /*The user data passed in by UMAC, it will be sent back when the above
3023 function pointer will be called */
3024 void* pUserData;
3025}WDI_SendBeaconParamsType;
3026
3027/*---------------------------------------------------------------------------
3028 WDI_LinkStateType
3029---------------------------------------------------------------------------*/
3030typedef enum
3031{
3032 WDI_LINK_IDLE_STATE = 0,
3033 WDI_LINK_PREASSOC_STATE = 1,
3034 WDI_LINK_POSTASSOC_STATE = 2,
3035 WDI_LINK_AP_STATE = 3,
3036 WDI_LINK_IBSS_STATE = 4,
3037
3038 // BT-AMP Case
3039 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3040 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3041 WDI_LINK_BTAMP_AP_STATE = 7,
3042 WDI_LINK_BTAMP_STA_STATE = 8,
3043
3044 // Reserved for HAL internal use
3045 WDI_LINK_LEARN_STATE = 9,
3046 WDI_LINK_SCAN_STATE = 10,
3047 WDI_LINK_FINISH_SCAN_STATE = 11,
3048 WDI_LINK_INIT_CAL_STATE = 12,
3049 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003050 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303051 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003052 WDI_LINK_MAX = 0x7FFFFFFF
3053} WDI_LinkStateType;
3054
3055/*---------------------------------------------------------------------------
3056 WDI_SetLinkReqInfoType
3057---------------------------------------------------------------------------*/
3058typedef struct
3059{
3060 /*BSSID of the BSS*/
3061 wpt_macAddr macBSSID;
3062
3063 /*Link state*/
3064 WDI_LinkStateType wdiLinkState;
3065
3066 /*BSSID of the BSS*/
3067 wpt_macAddr macSelfStaMacAddr;
3068}WDI_SetLinkReqInfoType;
3069
3070/*---------------------------------------------------------------------------
3071 WDI_SetLinkReqParamsType
3072---------------------------------------------------------------------------*/
3073typedef struct
3074{
3075 /*Link Info*/
3076 WDI_SetLinkReqInfoType wdiLinkInfo;
3077
3078 /*Request status callback offered by UMAC - it is called if the current
3079 req has returned PENDING as status; it delivers the status of sending
3080 the message over the BUS */
3081 WDI_ReqStatusCb wdiReqStatusCB;
3082
3083 /*The user data passed in by UMAC, it will be sent back when the above
3084 function pointer will be called */
3085 void* pUserData;
3086}WDI_SetLinkReqParamsType;
3087
3088/*---------------------------------------------------------------------------
3089 WDI_GetStatsParamsInfoType
3090---------------------------------------------------------------------------*/
3091typedef struct
3092{
3093 /*Indicates the station for which Get Stats are requested..*/
3094 wpt_uint8 ucSTAIdx;
3095
3096 /* categories of stats requested */
3097 wpt_uint32 uStatsMask;
3098}WDI_GetStatsParamsInfoType;
3099
3100/*---------------------------------------------------------------------------
3101 WDI_GetStatsReqParamsType
3102---------------------------------------------------------------------------*/
3103typedef struct
3104{
3105 /*Get Stats Params Info*/
3106 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3107
3108 /*Request status callback offered by UMAC - it is called if the current
3109 req has returned PENDING as status; it delivers the status of sending
3110 the message over the BUS */
3111 WDI_ReqStatusCb wdiReqStatusCB;
3112
3113 /*The user data passed in by UMAC, it will be sent back when the above
3114 function pointer will be called */
3115 void* pUserData;
3116}WDI_GetStatsReqParamsType;
3117
3118/*---------------------------------------------------------------------------
3119 WDI_GetStatsRspParamsType
3120---------------------------------------------------------------------------*/
3121typedef struct
3122{
3123 /*message type is same as the request type*/
3124 wpt_uint16 usMsgType;
3125
3126 /* length of the entire request, includes the pStatsBuf length too*/
3127 wpt_uint16 usMsgLen;
3128
3129 /*Result of the operation*/
3130 WDI_Status wdiStatus;
3131
3132 /*Indicates the station for which Get Stats are requested..*/
3133 wpt_uint8 ucSTAIdx;
3134
3135 /* categories of stats requested */
3136 wpt_uint32 uStatsMask;
3137
3138 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3139 * structure depending on statsMask.*/
3140}WDI_GetStatsRspParamsType;
3141
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003142#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003143/*---------------------------------------------------------------------------
3144 WDI_GetRoamRssiParamsInfoType
3145---------------------------------------------------------------------------*/
3146typedef struct
3147{
3148 /*Indicates the station for which Get Stats are requested..*/
3149 wpt_uint8 ucSTAIdx;
3150
3151 /* categories of stats requested */
3152 wpt_uint32 uStatsMask;
3153}WDI_GetRoamRssiParamsInfoType;
3154
3155/*---------------------------------------------------------------------------
3156 WDI_GetRoamRssiReqParamsType
3157---------------------------------------------------------------------------*/
3158typedef struct
3159{
3160 /*Get Roam Rssi Params Info*/
3161 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3162
3163 /*Request status callback offered by UMAC - it is called if the current
3164 req has returned PENDING as status; it delivers the status of sending
3165 the message over the BUS */
3166 WDI_ReqStatusCb wdiReqStatusCB;
3167
3168 /*The user data passed in by UMAC, it will be sent back when the above
3169 function pointer will be called */
3170 void* pUserData;
3171}WDI_GetRoamRssiReqParamsType;
3172
3173/*---------------------------------------------------------------------------
3174 WDI_GetRoamRssiRspParamsType
3175---------------------------------------------------------------------------*/
3176typedef struct
3177{
3178 /*Result of the operation*/
3179 WDI_Status wdiStatus;
3180
3181 /*Indicates the station for which Get Stats are requested..*/
3182 wpt_uint8 ucSTAIdx;
3183
3184 /* roam rssi requested */
3185 wpt_int8 rssi;
3186
3187 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3188 * structure depending on statsMask.*/
3189}WDI_GetRoamRssiRspParamsType;
3190#endif
3191
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003192#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003193/*---------------------------------------------------------------------------
3194 WDI_TSMStatsParamsInfoType
3195---------------------------------------------------------------------------*/
3196typedef struct
3197{
3198 /*Indicates the station for which Get Stats are requested..*/
3199 wpt_uint8 ucTid;
3200
3201 wpt_macAddr bssid;
3202}WDI_TSMStatsParamsInfoType;
3203
3204/*---------------------------------------------------------------------------
3205 WDI_TSMStatsReqParamsType
3206---------------------------------------------------------------------------*/
3207typedef struct
3208{
3209 /*Get TSM Stats Params Info*/
3210 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3211
3212 WDI_ReqStatusCb wdiReqStatusCB;
3213
3214 /*The user data passed in by UMAC, it will be sent back when the above
3215 function pointer will be called */
3216 void* pUserData;
3217
3218}WDI_TSMStatsReqParamsType;
3219
3220
3221/*---------------------------------------------------------------------------
3222 WDI_TSMStatsRspParamsType
3223---------------------------------------------------------------------------*/
3224typedef struct
3225{
3226 /*Indicates the status of the operation */
3227 WDI_Status wdiStatus;
3228
3229 wpt_uint16 UplinkPktQueueDly;
3230 wpt_uint16 UplinkPktQueueDlyHist[4];
3231 wpt_uint32 UplinkPktTxDly;
3232 wpt_uint16 UplinkPktLoss;
3233 wpt_uint16 UplinkPktCount;
3234 wpt_uint8 RoamingCount;
3235 wpt_uint16 RoamingDly;
3236}WDI_TSMStatsRspParamsType;
3237
3238
3239#endif
3240/*---------------------------------------------------------------------------
3241 WDI_UpdateCfgReqParamsType
3242---------------------------------------------------------------------------*/
3243typedef struct
3244{
3245 /*This is a TLV formatted buffer containing all config values that can
3246 be set through the DAL Interface
3247
3248 The TLV is expected to be formatted like this:
3249
3250 0 7 15 31 ....
3251 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3252
3253 Or from a C construct point of VU it would look like this:
3254
3255 typedef struct WPT_PACK_POST
3256 {
3257 #ifdef WPT_BIG_ENDIAN
3258 wpt_uint32 ucCfgId:8;
3259 wpt_uint32 ucCfgLen:8;
3260 wpt_uint32 usReserved:16;
3261 #else
3262 wpt_uint32 usReserved:16;
3263 wpt_uint32 ucCfgLen:8;
3264 wpt_uint32 ucCfgId:8;
3265 #endif
3266
3267 wpt_uint8 ucCfgBody[ucCfgLen];
3268 }WDI_ConfigType;
3269
3270 Multiple such tuplets are to be placed in the config buffer. One for
3271 each required configuration item:
3272
3273 | TLV 1 | TLV2 | ....
3274
3275 The buffer is expected to be a flat area of memory that can be manipulated
3276 with standard memory routines.
3277
3278 For more info please check paragraph 2.3.1 Config Structure from the
3279 HAL LLD.
3280
3281 For a list of accepted configuration list and IDs please look up
3282 wlan_qct_dal_cfg.h
3283 */
3284 void* pConfigBuffer;
3285
3286 /*Length of the config buffer above*/
3287 wpt_uint32 uConfigBufferLen;
3288
3289 /*Request status callback offered by UMAC - it is called if the current
3290 req has returned PENDING as status; it delivers the status of sending
3291 the message over the BUS */
3292 WDI_ReqStatusCb wdiReqStatusCB;
3293
3294 /*The user data passed in by UMAC, it will be sent back when the above
3295 function pointer will be called */
3296 void* pUserData;
3297}WDI_UpdateCfgReqParamsType;
3298
3299/*---------------------------------------------------------------------------
3300 WDI_UpdateProbeRspTemplateInfoType
3301---------------------------------------------------------------------------*/
3302//Default Beacon template size
3303#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3304
3305#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3306
3307typedef struct
3308{
3309 /*BSSID for which the Probe Template is to be used*/
3310 wpt_macAddr macBSSID;
3311
3312 /*Probe response template*/
3313 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3314
3315 /*Template Len*/
3316 wpt_uint32 uProbeRespTemplateLen;
3317
3318 /*Bitmap for the IEs that are to be handled at SLM level*/
3319 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3320
3321}WDI_UpdateProbeRspTemplateInfoType;
3322
3323/*---------------------------------------------------------------------------
3324 WDI_UpdateProbeRspParamsType
3325---------------------------------------------------------------------------*/
3326typedef struct
3327{
3328 /*Link Info*/
3329 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3330
3331 /*Request status callback offered by UMAC - it is called if the current
3332 req has returned PENDING as status; it delivers the status of sending
3333 the message over the BUS */
3334 WDI_ReqStatusCb wdiReqStatusCB;
3335
3336 /*The user data passed in by UMAC, it will be sent back when the above
3337 function pointer will be called */
3338 void* pUserData;
3339}WDI_UpdateProbeRspTemplateParamsType;
3340
3341/*---------------------------------------------------------------------------
3342 WDI_NvDownloadReqBlobInfo
3343---------------------------------------------------------------------------*/
3344
3345typedef struct
3346{
3347 /* Blob starting address*/
3348 void *pBlobAddress;
3349
3350 /* Blob size */
3351 wpt_uint32 uBlobSize;
3352
3353}WDI_NvDownloadReqBlobInfo;
3354
3355/*---------------------------------------------------------------------------
3356 WDI_NvDownloadReqParamsType
3357---------------------------------------------------------------------------*/
3358typedef struct
3359{
3360 /*NV Blob Info*/
3361 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3362
3363 /*Request status callback offered by UMAC - it is called if the current
3364 req has returned PENDING as status; it delivers the status of sending
3365 the message over the BUS */
3366 WDI_ReqStatusCb wdiReqStatusCB;
3367
3368 /*The user data passed in by UMAC, it will be sent back when the above
3369 function pointer will be called */
3370 void* pUserData;
3371
3372}WDI_NvDownloadReqParamsType;
3373
3374/*---------------------------------------------------------------------------
3375 WDI_NvDownloadRspInfoType
3376---------------------------------------------------------------------------*/
3377typedef struct
3378{
3379 /*Status of the response*/
3380 WDI_Status wdiStatus;
3381
3382}WDI_NvDownloadRspInfoType;
3383
3384/*---------------------------------------------------------------------------
3385 WDI_SetMaxTxPowerInfoType
3386---------------------------------------------------------------------------*/
3387
3388typedef struct
3389{
3390 /*BSSID is needed to identify which session issued this request. As the request has
3391 power constraints, this should be applied only to that session*/
3392 wpt_macAddr macBSSId;
3393
3394
3395 wpt_macAddr macSelfStaMacAddr;
3396
3397 /* In request power == MaxTxpower to be used.*/
3398 wpt_int8 ucPower;
3399
3400}WDI_SetMaxTxPowerInfoType;
3401
3402/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003403 WDI_SetTxPowerInfoType
3404---------------------------------------------------------------------------*/
3405
3406typedef struct
3407{
3408 wpt_uint8 bssIdx;
3409 /* In request power == MaxTxpower to be used.*/
3410 wpt_uint8 ucPower;
3411
3412}WDI_SetTxPowerInfoType;
3413
3414/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003415 WDI_SetMaxTxPowerParamsType
3416---------------------------------------------------------------------------*/
3417typedef struct
3418{
3419 /*Link Info*/
3420 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3421
3422 /*Request status callback offered by UMAC - it is called if the current
3423 req has returned PENDING as status; it delivers the status of sending
3424 the message over the BUS */
3425 WDI_ReqStatusCb wdiReqStatusCB;
3426
3427 /*The user data passed in by UMAC, it will be sent back when the above
3428 function pointer will be called */
3429 void* pUserData;
3430}WDI_SetMaxTxPowerParamsType;
3431
schang86c22c42013-03-13 18:41:24 -07003432/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003433 WDI_Band
3434---------------------------------------------------------------------------*/
3435typedef enum
3436{
3437 WDI_BAND_ALL,
3438 WDI_BAND_24,
3439 WDI_BAND_5G,
3440 WDI_BAND_MAX,
3441}eWDIBand;
3442
3443/*---------------------------------------------------------------------------
3444 WDI_MaxTxPowerPerBandInfoType
3445---------------------------------------------------------------------------*/
3446typedef struct
3447{
3448 eWDIBand bandInfo;
3449 /* In request power == MaxTxpower to be used.*/
3450 wpt_uint8 ucPower;
3451}WDI_MaxTxPowerPerBandInfoType;
3452
3453/*---------------------------------------------------------------------------
3454 WDI_SetMaxTxPowerPerBandParamsType
3455---------------------------------------------------------------------------*/
3456typedef struct
3457{
3458 /*Link Info*/
3459 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3460
3461 /*Request status callback offered by UMAC - it is called if the current
3462 req has returned PENDING as status; it delivers the status of sending
3463 the message over the BUS */
3464 WDI_ReqStatusCb wdiReqStatusCB;
3465
3466 /*The user data passed in by UMAC, it will be sent back when the above
3467 function pointer will be called */
3468 void* pUserData;
3469}WDI_SetMaxTxPowerPerBandParamsType;
3470
3471/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003472 WDI_SetTxPowerParamsType
3473---------------------------------------------------------------------------*/
3474typedef struct
3475{
3476 /*Link Info*/
3477 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3478
3479 /*Request status callback offered by UMAC - it is called if the current
3480 req has returned PENDING as status; it delivers the status of sending
3481 the message over the BUS */
3482 WDI_ReqStatusCb wdiReqStatusCB;
3483
3484 /*The user data passed in by UMAC, it will be sent back when the above
3485 function pointer will be called */
3486 void* pUserData;
3487}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003488
3489/*---------------------------------------------------------------------------
3490 WDI_SetMaxTxPowerRspMsg
3491---------------------------------------------------------------------------*/
3492
3493typedef struct
3494{
3495 /* In response, power==tx power used for management frames*/
3496 wpt_int8 ucPower;
3497
3498 /*Result of the operation*/
3499 WDI_Status wdiStatus;
3500
3501}WDI_SetMaxTxPowerRspMsg;
3502
schang86c22c42013-03-13 18:41:24 -07003503/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003504 WDI_SetMaxTxPowerPerBandRspMsg
3505---------------------------------------------------------------------------*/
3506typedef struct
3507{
3508 /* In response, power==tx power used for management frames*/
3509 wpt_int8 ucPower;
3510
3511 /*Result of the operation*/
3512 WDI_Status wdiStatus;
3513
3514}WDI_SetMaxTxPowerPerBandRspMsg;
3515
3516/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003517 WDI_SetTxPowerRspMsg
3518---------------------------------------------------------------------------*/
3519
3520typedef struct
3521{
3522 /* In response, power==tx power used for management frames*/
3523 wpt_int8 ucPower;
3524
3525 /*Result of the operation*/
3526 WDI_Status wdiStatus;
3527
3528}WDI_SetTxPowerRspMsg;
3529
Jeff Johnson295189b2012-06-20 16:38:30 -07003530typedef struct
3531{
3532 wpt_uint8 ucOpp_ps;
3533 wpt_uint32 uCtWindow;
3534 wpt_uint8 ucCount;
3535 wpt_uint32 uDuration;
3536 wpt_uint32 uInterval;
3537 wpt_uint32 uSingle_noa_duration;
3538 wpt_uint8 ucPsSelection;
3539}WDI_SetP2PGONOAReqInfoType;
3540
3541/*---------------------------------------------------------------------------
3542 WDI_SetP2PGONOAReqParamsType
3543---------------------------------------------------------------------------*/
3544typedef struct
3545{
3546 /*P2P GO NOA Req*/
3547 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3548
3549 /*Request status callback offered by UMAC - it is called if the current
3550 req has returned PENDING as status; it delivers the status of sending
3551 the message over the BUS */
3552 WDI_ReqStatusCb wdiReqStatusCB;
3553
3554 /*The user data passed in by UMAC, it will be sent back when the above
3555 function pointer will be called */
3556 void* pUserData;
3557}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003558
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303559#define WDI_MAX_SUPP_CHANNELS 128
3560#define WDI_MAX_SUPP_OPER_CLASSES 32
3561
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303562typedef struct
3563{
3564 wpt_uint16 uStaIdx;
3565 wpt_uint8 uIsResponder;
3566 wpt_uint8 uUapsdQueues;
3567 wpt_uint8 uMaxSp;
3568 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303569 wpt_uint8 uIsOffChannelSupported;
3570 wpt_uint8 peerCurrOperClass;
3571 wpt_uint8 selfCurrOperClass;
3572 wpt_uint8 validChannelsLen;
3573 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3574 wpt_uint8 validOperClassesLen;
3575 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303576}WDI_SetTDLSLinkEstablishReqInfoType;
3577/*---------------------------------------------------------------------------
3578 WDI_SetTDLSLinkEstablishReqParamsType
3579---------------------------------------------------------------------------*/
3580typedef struct
3581{
3582 /*TDLS Link Establish Req*/
3583 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3584
3585 /*Request status callback offered by UMAC - it is called if the current
3586 req has returned PENDING as status; it delivers the status of sending
3587 the message over the BUS */
3588 WDI_ReqStatusCb wdiReqStatusCB;
3589
3590 /*The user data passed in by UMAC, it will be sent back when the above
3591 function pointer will be called */
3592 void* pUserData;
3593}WDI_SetTDLSLinkEstablishReqParamsType;
3594
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303595typedef struct
3596{
3597 /*Result of the operation*/
3598 WDI_Status wdiStatus;
3599
3600 /*STA Idx*/
3601 wpt_uint16 uStaIdx;
3602}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003603
Atul Mittalc0f739f2014-07-31 13:47:47 +05303604
3605
3606typedef struct
3607{
3608 /*STA Index*/
3609 wpt_uint8 staIdx;
3610 /* if this is 1, self is initiator otherwise responder only*/
3611 wpt_uint8 isOffchannelInitiator;
3612 /*TDLS off channel related params */
3613 wpt_uint8 targetOperClass;
3614 wpt_uint8 targetChannel;
3615 wpt_uint8 secondaryChannelOffset;
3616 wpt_uint8 reserved[64];
3617}WDI_SetTDLSChanSwitchReqInfoType;
3618
3619typedef struct
3620{
3621 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3622 WDI_ReqStatusCb wdiReqStatusCB;
3623 void* pUserData;
3624}WDI_SetTDLSChanSwitchReqParamsType;
3625
3626
3627typedef struct
3628{
3629 /*Result of the operation*/
3630 WDI_Status wdiStatus;
3631
3632 /*STA Idx*/
3633 wpt_uint16 uStaIdx;
3634}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003635/*---------------------------------------------------------------------------
3636 WDI_SetAddSTASelfParamsType
3637---------------------------------------------------------------------------*/
3638typedef struct
3639{
3640 /*Self Station MAC address*/
3641 wpt_macAddr selfMacAddr;
3642
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003643 /*Self STA device mode*/
3644 wpt_uint32 currDeviceMode;
3645
Jeff Johnson295189b2012-06-20 16:38:30 -07003646 /*Status of the operation*/
3647 wpt_uint32 uStatus;
3648}WDI_AddSTASelfInfoType;
3649
3650/*---------------------------------------------------------------------------
3651 WDI_SetAddSTASelfParamsType
3652---------------------------------------------------------------------------*/
3653typedef struct
3654{
3655 /* Add Sta Self Req */
3656 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3657
3658 /*Request status callback offered by UMAC - it is called if the current
3659 req has returned PENDING as status; it delivers the status of sending
3660 the message over the BUS */
3661 WDI_ReqStatusCb wdiReqStatusCB;
3662
3663 /*The user data passed in by UMAC, it will be sent back when the above
3664 function pointer will be called */
3665 void* pUserData;
3666}WDI_AddSTASelfReqParamsType;
3667
3668
3669/*---------------------------------------------------------------------------
3670 WDI_AddSTASelfRspParamsType
3671---------------------------------------------------------------------------*/
3672typedef struct
3673{
3674 /*Status of the response*/
3675 WDI_Status wdiStatus;
3676
3677 /*STA Idx allocated by HAL*/
3678 wpt_uint8 ucSTASelfIdx;
3679
3680 /* DPU Index (IGTK, PTK, GTK all same) */
3681 wpt_uint8 dpuIdx;
3682
3683 /* DPU Signature */
3684 wpt_uint8 dpuSignature;
3685
3686 /*Self STA Mac*/
3687 wpt_macAddr macSelfSta;
3688
3689}WDI_AddSTASelfRspParamsType;
3690
3691/*---------------------------------------------------------------------------
3692 WDI_DelSTASelfReqParamsType
3693 Del Sta Self info passed to WDI form WDA
3694---------------------------------------------------------------------------*/
3695typedef struct
3696{
3697 wpt_macAddr selfMacAddr;
3698
3699}WDI_DelSTASelfInfoType;
3700
3701/*---------------------------------------------------------------------------
3702 WDI_DelSTASelfReqParamsType
3703 Del Sta Self info passed to WDI form WDA
3704---------------------------------------------------------------------------*/
3705typedef struct
3706{
3707 /*Del Sta Self Info Type */
3708 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3709 /*Request status callback offered by UMAC - it is called if the current req
3710 has returned PENDING as status; it delivers the status of sending the message
3711 over the BUS */
3712 WDI_ReqStatusCb wdiReqStatusCB;
3713 /*The user data passed in by UMAC, it will be sent back when the above
3714 function pointer will be called */
3715 void* pUserData;
3716}WDI_DelSTASelfReqParamsType;
3717
3718/*---------------------------------------------------------------------------
3719 WDI_DelSTASelfRspParamsType
3720---------------------------------------------------------------------------*/
3721typedef struct
3722{
3723 /*Status of the response*/
3724 WDI_Status wdiStatus;
3725
3726 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3727// wpt_uint8 ucSTAIdx;
3728}WDI_DelSTASelfRspParamsType;
3729
3730/*---------------------------------------------------------------------------
3731 WDI_UapsdInfoType
3732 UAPSD parameters passed per AC to WDA from UMAC
3733---------------------------------------------------------------------------*/
3734typedef struct
3735{
3736 wpt_uint8 ucSTAIdx; // STA index
3737 wpt_uint8 ucAc; // Access Category
3738 wpt_uint8 ucUp; // User Priority
3739 wpt_uint32 uSrvInterval; // Service Interval
3740 wpt_uint32 uSusInterval; // Suspend Interval
3741 wpt_uint32 uDelayInterval; // Delay Interval
3742} WDI_UapsdInfoType;
3743
3744/*---------------------------------------------------------------------------
3745 WDI_SetUapsdAcParamsReqParamsType
3746 UAPSD parameters passed per AC to WDI from WDA
3747---------------------------------------------------------------------------*/
3748typedef struct
3749{
3750 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3751 WDI_UapsdInfoType wdiUapsdInfo;
3752 /*Request status callback offered by UMAC - it is called if the current req
3753 has returned PENDING as status; it delivers the status of sending the message
3754 over the BUS */
3755 WDI_ReqStatusCb wdiReqStatusCB;
3756 /*The user data passed in by UMAC, it will be sent back when the above
3757 function pointer will be called */
3758 void* pUserData;
3759}WDI_SetUapsdAcParamsReqParamsType;
3760
3761/*---------------------------------------------------------------------------
3762 WDI_EnterBmpsReqinfoType
3763 Enter BMPS parameters passed to WDA from UMAC
3764---------------------------------------------------------------------------*/
3765typedef struct
3766{
3767 //TBTT value derived from the last beacon
3768 wpt_uint8 ucBssIdx;
3769 wpt_uint64 uTbtt;
3770 wpt_uint8 ucDtimCount;
3771 //DTIM period given to HAL during association may not be valid,
3772 //if association is based on ProbeRsp instead of beacon.
3773 wpt_uint8 ucDtimPeriod;
3774 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3775 DXE when DXE wakes up from power save*/
3776 unsigned int dxePhyAddr;
3777
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003778 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003779 wpt_uint32 rssiFilterPeriod;
3780 wpt_uint32 numBeaconPerRssiAverage;
3781 wpt_uint8 bRssiFilterEnable;
3782}WDI_EnterBmpsReqinfoType;
3783
3784/*---------------------------------------------------------------------------
3785 WDI_EnterBmpsReqParamsType
3786 Enter BMPS parameters passed to WDI from WDA
3787---------------------------------------------------------------------------*/
3788typedef struct
3789{
3790 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3791 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3792 /*Request status callback offered by UMAC - it is called if the current req
3793 has returned PENDING as status; it delivers the status of sending the message
3794 over the BUS */
3795 WDI_ReqStatusCb wdiReqStatusCB;
3796 /*The user data passed in by UMAC, it will be sent back when the above
3797 function pointer will be called */
3798 void* pUserData;
3799}WDI_EnterBmpsReqParamsType;
3800
3801/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303802 WDI_EnterImpsReqParamsType
3803 Enter IMPS parameters passed to WDI from WDA
3804---------------------------------------------------------------------------*/
3805typedef struct
3806{
3807 /*Request status callback offered by UMAC - it is called if the current req
3808 has returned PENDING as status; it delivers the status of sending the message
3809 over the BUS */
3810 WDI_ReqStatusCb wdiReqStatusCB;
3811 /*The user data passed in by UMAC, it will be sent back when the above
3812 function pointer will be called */
3813 void* pUserData;
3814}WDI_EnterImpsReqParamsType;
3815
3816/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303817 WDI_ExitImpsReqParamsType
3818 Exit IMPS parameters passed to WDI from WDA
3819----------------------------------------------------------------------------*/
3820typedef struct
3821{
3822 /*Request status callback offered by UMAC */
3823 WDI_ReqStatusCb wdiReqStatusCB;
3824 /*The user data passed in by UMAC, it will be sent back when the above
3825 function pointer will be called */
3826 void* pUserData;
3827
3828}WDI_ExitImpsReqParamsType;
3829
3830/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003831 WDI_EnterBmpsReqParamsType
3832 Enter BMPS parameters passed from WDI to WDA
3833---------------------------------------------------------------------------*/
3834typedef struct
3835{
3836 /*Status of the response*/
3837 WDI_Status wdiStatus;
3838
3839 /*BssIDX of the session*/
3840 wpt_uint8 bssIdx;
3841}WDI_EnterBmpsRspParamsType;
3842
3843/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003844 WDI_ExitBmpsReqinfoType
3845 Exit BMPS parameters passed to WDA from UMAC
3846---------------------------------------------------------------------------*/
3847typedef struct
3848{
3849 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003850 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003851}WDI_ExitBmpsReqinfoType;
3852
3853/*---------------------------------------------------------------------------
3854 WDI_ExitBmpsReqParamsType
3855 Exit BMPS parameters passed to WDI from WDA
3856---------------------------------------------------------------------------*/
3857typedef struct
3858{
3859 /*Exit BMPS Info Type, same as tExitBmpsParams */
3860 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3861 /*Request status callback offered by UMAC - it is called if the current req
3862 has returned PENDING as status; it delivers the status of sending the message
3863 over the BUS */
3864 WDI_ReqStatusCb wdiReqStatusCB;
3865 /*The user data passed in by UMAC, it will be sent back when the above
3866 function pointer will be called */
3867 void* pUserData;
3868}WDI_ExitBmpsReqParamsType;
3869
3870/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003871 WDI_ExitBmpsReqParamsType
3872 Exit BMPS parameters passed from WDI to WDA
3873---------------------------------------------------------------------------*/
3874typedef struct
3875{
3876 /*Status of the response*/
3877 WDI_Status wdiStatus;
3878
3879 /*BssIDX of the session*/
3880 wpt_uint8 bssIdx;
3881}WDI_ExitBmpsRspParamsType;
3882
3883/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003884 WDI_EnterUapsdReqinfoType
3885 Enter UAPSD parameters passed to WDA from UMAC
3886---------------------------------------------------------------------------*/
3887typedef struct
3888{
3889 wpt_uint8 ucBkDeliveryEnabled:1;
3890 wpt_uint8 ucBeDeliveryEnabled:1;
3891 wpt_uint8 ucViDeliveryEnabled:1;
3892 wpt_uint8 ucVoDeliveryEnabled:1;
3893 wpt_uint8 ucBkTriggerEnabled:1;
3894 wpt_uint8 ucBeTriggerEnabled:1;
3895 wpt_uint8 ucViTriggerEnabled:1;
3896 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003897 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003898}WDI_EnterUapsdReqinfoType;
3899
3900/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003901 WDI_EnterUapsdRspParamsType
3902 Enter UAPSD parameters passed from WDI to WDA
3903---------------------------------------------------------------------------*/
3904typedef struct
3905{
3906 /*Status of the response*/
3907 WDI_Status wdiStatus;
3908
3909 /*BssIDX of the session*/
3910 wpt_uint8 bssIdx;
3911}WDI_EnterUapsdRspParamsType;
3912
3913/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003914 WDI_EnterUapsdReqinfoType
3915 Enter UAPSD parameters passed to WDI from WDA
3916---------------------------------------------------------------------------*/
3917typedef struct
3918{
3919 /*Enter UAPSD Info Type, same as tUapsdParams */
3920 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3921 /*Request status callback offered by UMAC - it is called if the current req
3922 has returned PENDING as status; it delivers the status of sending the message
3923 over the BUS */
3924 WDI_ReqStatusCb wdiReqStatusCB;
3925 /*The user data passed in by UMAC, it will be sent back when the above
3926 function pointer will be called */
3927 void* pUserData;
3928}WDI_EnterUapsdReqParamsType;
3929
3930/*---------------------------------------------------------------------------
3931 WDI_UpdateUapsdReqinfoType
3932 Update UAPSD parameters passed to WDA from UMAC
3933---------------------------------------------------------------------------*/
3934typedef struct
3935{
3936 wpt_uint8 ucSTAIdx;
3937 wpt_uint8 ucUapsdACMask;
3938 wpt_uint32 uMaxSpLen;
3939}WDI_UpdateUapsdReqinfoType;
3940
3941/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003942 WDI_ExitUapsdReqinfoType
3943 Exit UAPSD parameters passed to WDA from UMAC
3944---------------------------------------------------------------------------*/
3945typedef struct
3946{
3947 wpt_uint8 bssIdx;
3948}WDI_ExitUapsdReqinfoType;
3949
3950/*---------------------------------------------------------------------------
3951 WDI_ExitUapsdReqParamsType
3952 Exit UAPSD parameters passed to WDI from WDA
3953---------------------------------------------------------------------------*/
3954typedef struct
3955{
3956 /*Exit UAPSD Info Type, same as tUapsdParams */
3957 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3958 /*Request status callback offered by UMAC - it is called if the current req
3959 has returned PENDING as status; it delivers the status of sending the message
3960 over the BUS */
3961 WDI_ReqStatusCb wdiReqStatusCB;
3962 /*The user data passed in by UMAC, it will be sent back when the above
3963 function pointer will be called */
3964 void* pUserData;
3965}WDI_ExitUapsdReqParamsType;
3966
3967/*---------------------------------------------------------------------------
3968 WDI_ExitUapsdRspParamsType
3969 Exit UAPSD parameters passed from WDI to WDA
3970---------------------------------------------------------------------------*/
3971typedef struct
3972{
3973 /*Status of the response*/
3974 WDI_Status wdiStatus;
3975
3976 /*BssIDX of the session*/
3977 wpt_uint8 bssIdx;
3978}WDI_ExitUapsdRspParamsType;
3979
3980/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003981 WDI_UpdateUapsdReqParamsType
3982 Update UAPSD parameters passed to WDI form WDA
3983---------------------------------------------------------------------------*/
3984typedef struct
3985{
3986 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3987 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3988 /*Request status callback offered by UMAC - it is called if the current req
3989 has returned PENDING as status; it delivers the status of sending the message
3990 over the BUS */
3991 WDI_ReqStatusCb wdiReqStatusCB;
3992 /*The user data passed in by UMAC, it will be sent back when the above
3993 function pointer will be called */
3994 void* pUserData;
3995}WDI_UpdateUapsdReqParamsType;
3996
3997/*---------------------------------------------------------------------------
3998 WDI_ConfigureRxpFilterReqParamsType
3999 RXP filter parameters passed to WDI form WDA
4000---------------------------------------------------------------------------*/
4001typedef struct
4002{
4003 /* Mode of Mcast and Bcast filters configured */
4004 wpt_uint8 ucSetMcstBcstFilterSetting;
4005
4006 /* Mcast Bcast Filters enable/disable*/
4007 wpt_uint8 ucSetMcstBcstFilter;
4008}WDI_RxpFilterReqParamsType;
4009
4010typedef struct
4011{
4012 /* Rxp Filter */
4013 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4014
4015 /*Request status callback offered by UMAC - it is called if the current req
4016 has returned PENDING as status; it delivers the status of sending the message
4017 over the BUS */
4018 WDI_ReqStatusCb wdiReqStatusCB;
4019 /*The user data passed in by UMAC, it will be sent back when the above
4020 function pointer will be called */
4021 void* pUserData;
4022}WDI_ConfigureRxpFilterReqParamsType;
4023
4024/*---------------------------------------------------------------------------
4025 WDI_BeaconFilterInfoType
4026 Beacon Filtering data structures passed to WDA form UMAC
4027---------------------------------------------------------------------------*/
4028typedef struct
4029{
4030 wpt_uint16 usCapabilityInfo;
4031 wpt_uint16 usCapabilityMask;
4032 wpt_uint16 usBeaconInterval;
4033 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004034 wpt_uint8 bssIdx;
4035 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004036}WDI_BeaconFilterInfoType;
4037
4038/*---------------------------------------------------------------------------
4039 WDI_BeaconFilterReqParamsType
4040 Beacon Filtering parameters passed to WDI form WDA
4041---------------------------------------------------------------------------*/
4042typedef struct
4043{
4044 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4045 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4046 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4047 copy of params from WDA to WDI */
4048 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
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_BeaconFilterReqParamsType;
4057
4058/*---------------------------------------------------------------------------
4059 WDI_RemBeaconFilterInfoType
4060 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4061---------------------------------------------------------------------------*/
4062typedef struct
4063{
4064 wpt_uint8 ucIeCount;
4065 wpt_uint8 ucRemIeId[1];
4066}WDI_RemBeaconFilterInfoType;
4067
4068/*---------------------------------------------------------------------------
4069 WDI_RemBeaconFilterReqParamsType
4070 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4071---------------------------------------------------------------------------*/
4072typedef struct
4073{
4074 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4075 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4076 /*Request status callback offered by UMAC - it is called if the current req
4077 has returned PENDING as status; it delivers the status of sending the message
4078 over the BUS */
4079 WDI_ReqStatusCb wdiReqStatusCB;
4080 /*The user data passed in by UMAC, it will be sent back when the above
4081 function pointer will be called */
4082 void* pUserData;
4083}WDI_RemBeaconFilterReqParamsType;
4084
4085/*---------------------------------------------------------------------------
4086 WDI_RSSIThresholdsType
4087 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4088---------------------------------------------------------------------------*/
4089typedef struct
4090{
4091 wpt_int8 ucRssiThreshold1 : 8;
4092 wpt_int8 ucRssiThreshold2 : 8;
4093 wpt_int8 ucRssiThreshold3 : 8;
4094 wpt_uint8 bRssiThres1PosNotify : 1;
4095 wpt_uint8 bRssiThres1NegNotify : 1;
4096 wpt_uint8 bRssiThres2PosNotify : 1;
4097 wpt_uint8 bRssiThres2NegNotify : 1;
4098 wpt_uint8 bRssiThres3PosNotify : 1;
4099 wpt_uint8 bRssiThres3NegNotify : 1;
4100 wpt_uint8 bReserved10 : 2;
4101} WDI_RSSIThresholdsType;
4102
4103/*---------------------------------------------------------------------------
4104 WDI_SetRSSIThresholdsReqParamsType
4105 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4106---------------------------------------------------------------------------*/
4107typedef struct
4108{
4109 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4110 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4111 /*Request status callback offered by UMAC - it is called if the current req
4112 has returned PENDING as status; it delivers the status of sending the message
4113 over the BUS */
4114 WDI_ReqStatusCb wdiReqStatusCB;
4115 /*The user data passed in by UMAC, it will be sent back when the above
4116 function pointer will be called */
4117 void* pUserData;
4118}WDI_SetRSSIThresholdsReqParamsType;
4119
4120/*---------------------------------------------------------------------------
4121 WDI_HostOffloadReqType
4122 host offload info passed to WDA form UMAC
4123---------------------------------------------------------------------------*/
4124#ifdef WLAN_NS_OFFLOAD
4125typedef struct
4126{
4127 wpt_uint8 srcIPv6Addr[16];
4128 wpt_uint8 selfIPv6Addr[16];
4129 //Only support 2 possible Network Advertisement IPv6 address
4130 wpt_uint8 targetIPv6Addr1[16];
4131 wpt_uint8 targetIPv6Addr2[16];
4132 wpt_uint8 selfMacAddr[6];
4133 wpt_uint8 srcIPv6AddrValid : 1;
4134 wpt_uint8 targetIPv6Addr1Valid : 1;
4135 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304136 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004137} WDI_NSOffloadParams;
4138#endif //WLAN_NS_OFFLOAD
4139
4140typedef struct
4141{
4142 wpt_uint8 ucOffloadType;
4143 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004144 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004145 union
4146 {
4147 wpt_uint8 aHostIpv4Addr [4];
4148 wpt_uint8 aHostIpv6Addr [16];
4149 } params;
4150} WDI_HostOffloadReqType;
4151
4152/*---------------------------------------------------------------------------
4153 WDI_HostOffloadReqParamsType
4154 host offload info passed to WDI form WDA
4155---------------------------------------------------------------------------*/
4156typedef struct
4157{
4158 /*Host offload Info Type, same as tHalHostOffloadReq */
4159 WDI_HostOffloadReqType wdiHostOffloadInfo;
4160#ifdef WLAN_NS_OFFLOAD
4161 WDI_NSOffloadParams wdiNsOffloadParams;
4162#endif //WLAN_NS_OFFLOAD
4163 /*Request status callback offered by UMAC - it is called if the current req
4164 has returned PENDING as status; it delivers the status of sending the message
4165 over the BUS */
4166 WDI_ReqStatusCb wdiReqStatusCB;
4167 /*The user data passed in by UMAC, it will be sent back when the above
4168 function pointer will be called */
4169 void* pUserData;
4170}WDI_HostOffloadReqParamsType;
4171
4172/*---------------------------------------------------------------------------
4173 WDI_KeepAliveReqType
4174 Keep Alive info passed to WDA form UMAC
4175---------------------------------------------------------------------------*/
4176typedef struct
4177{
4178 wpt_uint8 ucPacketType;
4179 wpt_uint32 ucTimePeriod;
4180 wpt_uint8 aHostIpv4Addr[4];
4181 wpt_uint8 aDestIpv4Addr[4];
4182 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004183 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004184} WDI_KeepAliveReqType;
4185
4186/*---------------------------------------------------------------------------
4187 WDI_KeepAliveReqParamsType
4188 Keep Alive passed to WDI form WDA
4189---------------------------------------------------------------------------*/
4190typedef struct
4191{
4192 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4193 WDI_KeepAliveReqType wdiKeepAliveInfo;
4194 /*Request status callback offered by UMAC - it is called if the current req
4195 has returned PENDING as status; it delivers the status of sending the message
4196 over the BUS */
4197 WDI_ReqStatusCb wdiReqStatusCB;
4198 /*The user data passed in by UMAC, it will be sent back when the above
4199 function pointer will be called */
4200 void* pUserData;
4201}WDI_KeepAliveReqParamsType;
4202
4203/*---------------------------------------------------------------------------
4204 WDI_WowlAddBcPtrnInfoType
4205 Wowl add ptrn info passed to WDA form UMAC
4206---------------------------------------------------------------------------*/
4207typedef struct
4208{
4209 wpt_uint8 ucPatternId; // Pattern ID
4210 // Pattern byte offset from beginning of the 802.11 packet to start of the
4211 // wake-up pattern
4212 wpt_uint8 ucPatternByteOffset;
4213 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4214 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4215 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4216 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4217 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4218 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004219 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004220} WDI_WowlAddBcPtrnInfoType;
4221
4222/*---------------------------------------------------------------------------
4223 WDI_WowlAddBcPtrnReqParamsType
4224 Wowl add ptrn info passed to WDI form WDA
4225---------------------------------------------------------------------------*/
4226typedef struct
4227{
4228 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4229 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4230 /*Request status callback offered by UMAC - it is called if the current req
4231 has returned PENDING as status; it delivers the status of sending the message
4232 over the BUS */
4233 WDI_ReqStatusCb wdiReqStatusCB;
4234 /*The user data passed in by UMAC, it will be sent back when the above
4235 function pointer will be called */
4236 void* pUserData;
4237}WDI_WowlAddBcPtrnReqParamsType;
4238
4239/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004240 WDI_WowlAddBcPtrnRspParamsType
4241 Wowl add ptrn info passed from WDI to WDA
4242---------------------------------------------------------------------------*/
4243typedef struct
4244{
4245 /*Status of the response*/
4246 WDI_Status wdiStatus;
4247 /*BssIDX of the session*/
4248 wpt_uint8 bssIdx;
4249}WDI_WowlAddBcPtrnRspParamsType;
4250
4251/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004252 WDI_WowlDelBcPtrnInfoType
4253 Wowl add ptrn info passed to WDA form UMAC
4254---------------------------------------------------------------------------*/
4255typedef struct
4256{
4257 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004258 wpt_uint8 ucPatternId;
4259 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004260} WDI_WowlDelBcPtrnInfoType;
4261
4262/*---------------------------------------------------------------------------
4263 WDI_WowlDelBcPtrnReqParamsType
4264 Wowl add ptrn info passed to WDI form WDA
4265---------------------------------------------------------------------------*/
4266typedef struct
4267{
4268 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4269 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4270 /*Request status callback offered by UMAC - it is called if the current req
4271 has returned PENDING as status; it delivers the status of sending the message
4272 over the BUS */
4273 WDI_ReqStatusCb wdiReqStatusCB;
4274 /*The user data passed in by UMAC, it will be sent back when the above
4275 function pointer will be called */
4276 void* pUserData;
4277}WDI_WowlDelBcPtrnReqParamsType;
4278
4279/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004280 WDI_WowlDelBcPtrnRspParamsType
4281 Wowl Del ptrn info passed from WDI to WDA
4282---------------------------------------------------------------------------*/
4283typedef struct
4284{
4285 /*Status of the response*/
4286 WDI_Status wdiStatus;
4287 /*BssIDX of the session*/
4288 wpt_uint8 bssIdx;
4289}WDI_WowlDelBcPtrnRspParamsType;
4290
4291/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004292 WDI_WowlEnterInfoType
4293 Wowl enter info passed to WDA form UMAC
4294---------------------------------------------------------------------------*/
4295typedef struct
4296{
4297 /* Enables/disables magic packet filtering */
4298 wpt_uint8 ucMagicPktEnable;
4299
4300 /* Magic pattern */
4301 wpt_macAddr magicPtrn;
4302
4303 /* Enables/disables packet pattern filtering in firmware.
4304 Enabling this flag enables broadcast pattern matching
4305 in Firmware. If unicast pattern matching is also desired,
4306 ucUcastPatternFilteringEnable flag must be set tot true
4307 as well
4308 */
4309 wpt_uint8 ucPatternFilteringEnable;
4310
4311 /* Enables/disables unicast packet pattern filtering.
4312 This flag specifies whether we want to do pattern match
4313 on unicast packets as well and not just broadcast packets.
4314 This flag has no effect if the ucPatternFilteringEnable
4315 (main controlling flag) is set to false
4316 */
4317 wpt_uint8 ucUcastPatternFilteringEnable;
4318
4319 /* This configuration is valid only when magicPktEnable=1.
4320 * It requests hardware to wake up when it receives the
4321 * Channel Switch Action Frame.
4322 */
4323 wpt_uint8 ucWowChnlSwitchRcv;
4324
4325 /* This configuration is valid only when magicPktEnable=1.
4326 * It requests hardware to wake up when it receives the
4327 * Deauthentication Frame.
4328 */
4329 wpt_uint8 ucWowDeauthRcv;
4330
4331 /* This configuration is valid only when magicPktEnable=1.
4332 * It requests hardware to wake up when it receives the
4333 * Disassociation Frame.
4334 */
4335 wpt_uint8 ucWowDisassocRcv;
4336
4337 /* This configuration is valid only when magicPktEnable=1.
4338 * It requests hardware to wake up when it has missed
4339 * consecutive beacons. This is a hardware register
4340 * configuration (NOT a firmware configuration).
4341 */
4342 wpt_uint8 ucWowMaxMissedBeacons;
4343
4344 /* This configuration is valid only when magicPktEnable=1.
4345 * This is a timeout value in units of microsec. It requests
4346 * hardware to unconditionally wake up after it has stayed
4347 * in WoWLAN mode for some time. Set 0 to disable this feature.
4348 */
4349 wpt_uint8 ucWowMaxSleepUsec;
4350
4351#ifdef WLAN_WAKEUP_EVENTS
4352 /* This configuration directs the WoW packet filtering to look for EAP-ID
4353 * requests embedded in EAPOL frames and use this as a wake source.
4354 */
4355 wpt_uint8 ucWoWEAPIDRequestEnable;
4356
4357 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4358 * requests and use this as a wake source.
4359 */
4360 wpt_uint8 ucWoWEAPOL4WayEnable;
4361
4362 /* This configuration allows a host wakeup on an network scan offload match.
4363 */
4364 wpt_uint8 ucWowNetScanOffloadMatch;
4365
4366 /* This configuration allows a host wakeup on any GTK rekeying error.
4367 */
4368 wpt_uint8 ucWowGTKRekeyError;
4369
4370 /* This configuration allows a host wakeup on BSS connection loss.
4371 */
4372 wpt_uint8 ucWoWBSSConnLoss;
4373#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004374
4375 /* BSSIDX used to find the current session
4376 */
4377 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004378} WDI_WowlEnterInfoType;
4379
4380/*---------------------------------------------------------------------------
4381 WDI_WowlEnterReqParamsType
4382 Wowl enter info passed to WDI form WDA
4383---------------------------------------------------------------------------*/
4384typedef struct
4385{
4386 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4387 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4388 /*Request status callback offered by UMAC - it is called if the current req
4389 has returned PENDING as status; it delivers the status of sending the message
4390 over the BUS */
4391 WDI_ReqStatusCb wdiReqStatusCB;
4392 /*The user data passed in by UMAC, it will be sent back when the above
4393 function pointer will be called */
4394 void* pUserData;
4395}WDI_WowlEnterReqParamsType;
4396
4397/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004398 WDI_WowlEnterRsqParamsType
4399 Wowl enter info passed from WDI to WDA
4400---------------------------------------------------------------------------*/
4401typedef struct
4402{
4403 /*Status of the response message*/
4404 WDI_Status status;
4405
4406 /* BSSIDX used to find the current session
4407 */
4408 wpt_uint8 bssIdx;
4409}WDI_WowlEnterRspParamsType;
4410
4411/*---------------------------------------------------------------------------
4412 WDI_WowlExitInfoType
4413 Wowl exit info passed to WDA form UMAC
4414 ---------------------------------------------------------------------------*/
4415typedef struct
4416{
4417 /* BSSIDX used to find the current session
4418 */
4419 wpt_uint8 bssIdx;
4420} WDI_WowlExitInfoType;
4421
4422/*---------------------------------------------------------------------------
4423 WDI_WowlExitReqParamsType
4424 Wowl exit info passed to WDI form WDA
4425---------------------------------------------------------------------------*/
4426typedef struct
4427{
4428 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4429 WDI_WowlExitInfoType wdiWowlExitInfo;
4430 /*Request status callback offered by UMAC - it is called if the current req
4431 has returned PENDING as status; it delivers the status of sending the message
4432 over the BUS */
4433 WDI_ReqStatusCb wdiReqStatusCB;
4434 /*The user data passed in by UMAC, it will be sent back when the above
4435 function pointer will be called */
4436 void* pUserData;
4437}WDI_WowlExitReqParamsType;
4438
4439/*---------------------------------------------------------------------------
4440 WDI_WowlExitRspParamsType
4441 Wowl exit info passed from WDI to WDA
4442---------------------------------------------------------------------------*/
4443typedef struct
4444{
4445 /*Status of the response message*/
4446 WDI_Status status;
4447
4448 /* BSSIDX used to find the current session
4449 */
4450 wpt_uint8 bssIdx;
4451}WDI_WowlExitRspParamsType;
4452
4453/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004454 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4455 Apps Cpu Wakeup State parameters passed to WDI form WDA
4456---------------------------------------------------------------------------*/
4457typedef struct
4458{
4459 /*Depicts the state of the Apps CPU */
4460 wpt_boolean bIsAppsAwake;
4461 /*Request status callback offered by UMAC - it is called if the current req
4462 has returned PENDING as status; it delivers the status of sending the message
4463 over the BUS */
4464 WDI_ReqStatusCb wdiReqStatusCB;
4465 /*The user data passed in by UMAC, it will be sent back when the above
4466 function pointer will be called */
4467 void* pUserData;
4468}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4469/*---------------------------------------------------------------------------
4470 WDI_FlushAcReqinfoType
4471---------------------------------------------------------------------------*/
4472typedef struct
4473{
4474 // Message Type
4475 wpt_uint16 usMesgType;
4476
4477 // Message Length
4478 wpt_uint16 usMesgLen;
4479
4480 // Station Index. originates from HAL
4481 wpt_uint8 ucSTAId;
4482
4483 // TID for which the transmit queue is being flushed
4484 wpt_uint8 ucTid;
4485
4486}WDI_FlushAcReqinfoType;
4487
4488/*---------------------------------------------------------------------------
4489 WDI_FlushAcReqParamsType
4490---------------------------------------------------------------------------*/
4491typedef struct
4492{
4493 /*AC Info */
4494 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4495
4496 /*Request status callback offered by UMAC - it is called if the current
4497 req has returned PENDING as status; it delivers the status of sending
4498 the message over the BUS */
4499 WDI_ReqStatusCb wdiReqStatusCB;
4500
4501 /*The user data passed in by UMAC, it will be sent back when the above
4502 function pointer will be called */
4503 void* pUserData;
4504}WDI_FlushAcReqParamsType;
4505
4506/*---------------------------------------------------------------------------
4507 WDI_BtAmpEventinfoType
4508 BT-AMP Event Structure
4509---------------------------------------------------------------------------*/
4510typedef struct
4511{
4512 wpt_uint8 ucBtAmpEventType;
4513
4514} WDI_BtAmpEventinfoType;
4515
4516/*---------------------------------------------------------------------------
4517 WDI_BtAmpEventParamsType
4518---------------------------------------------------------------------------*/
4519typedef struct
4520{
4521 /*BT AMP event Info */
4522 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4523
4524 /*Request status callback offered by UMAC - it is called if the current
4525 req has returned PENDING as status; it delivers the status of sending
4526 the message over the BUS */
4527 WDI_ReqStatusCb wdiReqStatusCB;
4528
4529 /*The user data passed in by UMAC, it will be sent back when the above
4530 function pointer will be called */
4531 void* pUserData;
4532}WDI_BtAmpEventParamsType;
4533
Jeff Johnsone7245742012-09-05 17:12:55 -07004534#ifdef FEATURE_OEM_DATA_SUPPORT
4535
4536#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004537#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004538#endif
4539#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004540#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004541#endif
4542
4543/*----------------------------------------------------------------------------
4544 WDI_oemDataReqInfoType
4545----------------------------------------------------------------------------*/
4546typedef struct
4547{
4548 wpt_macAddr selfMacAddr;
4549 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4550}WDI_oemDataReqInfoType;
4551
4552/*----------------------------------------------------------------------------
4553 WDI_oemDataReqParamsType
4554----------------------------------------------------------------------------*/
4555typedef struct
4556{
4557 /*Request status callback offered by UMAC - it is called if the current
4558 req has returned PENDING as status; it delivers the status of sending
4559 the message over the BUS */
4560 WDI_ReqStatusCb wdiReqStatusCB;
4561
4562 /*The user data passed in by UMAC, it will be sent back when the above
4563 function pointer will be called */
4564 void* pUserData;
4565
4566 /*OEM DATA REQ Info */
4567 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4568
4569}WDI_oemDataReqParamsType;
4570
4571/*----------------------------------------------------------------------------
4572 WDI_oemDataRspParamsType
4573----------------------------------------------------------------------------*/
4574typedef struct
4575{
4576 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4577}WDI_oemDataRspParamsType;
4578
4579#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004580
4581#ifdef WLAN_FEATURE_VOWIFI_11R
4582/*---------------------------------------------------------------------------
4583 WDI_AggrAddTSReqInfoType
4584---------------------------------------------------------------------------*/
4585typedef struct
4586{
4587 /*STA Index*/
4588 wpt_uint8 ucSTAIdx;
4589
4590 /*Identifier for TSpec*/
4591 wpt_uint8 ucTspecIdx;
4592
4593 /*Tspec IE negotiated OTA*/
4594 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4595
4596 /*UAPSD delivery and trigger enabled flags */
4597 wpt_uint8 ucUapsdFlags;
4598
4599 /*SI for each AC*/
4600 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4601
4602 /*Suspend Interval for each AC*/
4603 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4604
4605 /*DI for each AC*/
4606 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4607
4608}WDI_AggrAddTSReqInfoType;
4609
4610
4611/*---------------------------------------------------------------------------
4612 WDI_AggrAddTSReqParamsType
4613---------------------------------------------------------------------------*/
4614typedef struct
4615{
4616 /*TSpec Info */
4617 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4618
4619 /*Request status callback offered by UMAC - it is called if the current
4620 req has returned PENDING as status; it delivers the status of sending
4621 the message over the BUS */
4622 WDI_ReqStatusCb wdiReqStatusCB;
4623
4624 /*The user data passed in by UMAC, it will be sent back when the above
4625 function pointer will be called */
4626 void* pUserData;
4627}WDI_AggrAddTSReqParamsType;
4628
4629#endif /* WLAN_FEATURE_VOWIFI_11R */
4630
Jeff Johnson295189b2012-06-20 16:38:30 -07004631/*---------------------------------------------------------------------------
4632 WDI_FTMCommandReqType
4633---------------------------------------------------------------------------*/
4634typedef struct
4635{
4636 /* FTM Command Body length */
4637 wpt_uint32 bodyLength;
4638 /* Actual FTM Command body */
4639 void *FTMCommandBody;
4640}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004641
4642/*---------------------------------------------------------------------------
4643 WDI_WlanSuspendInfoType
4644---------------------------------------------------------------------------*/
4645typedef struct
4646{
4647 /* Mode of Mcast and Bcast filters configured */
4648 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4649}WDI_WlanSuspendInfoType;
4650
4651/*---------------------------------------------------------------------------
4652 WDI_SuspendParamsType
4653---------------------------------------------------------------------------*/
4654typedef struct
4655{
4656 WDI_WlanSuspendInfoType wdiSuspendParams;
4657
4658 /*Request status callback offered by UMAC - it is called if the current
4659 req has returned PENDING as status; it delivers the status of sending
4660 the message over the BUS */
4661 WDI_ReqStatusCb wdiReqStatusCB;
4662
4663 /*The user data passed in by UMAC, it will be sent back when the above
4664 function pointer will be called */
4665 void* pUserData;
4666
4667}WDI_SuspendParamsType;
4668
4669/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004670 WDI_TrafficStatsType - This is collected for each STA
4671---------------------------------------------------------------------------*/
4672
4673typedef struct
4674{
4675 /* TX stats */
4676 wpt_uint32 txBytesPushed;
4677 wpt_uint32 txPacketsPushed;
4678
4679 /* RX stats */
4680 wpt_uint32 rxBytesRcvd;
4681 wpt_uint32 rxPacketsRcvd;
4682 wpt_uint32 rxTimeTotal;
4683}WDI_TrafficStatsType;
4684
4685typedef struct
4686{
4687 WDI_TrafficStatsType *pTrafficStats;
4688 wpt_uint32 length;
4689 wpt_uint32 duration;
4690
4691 /*Request status callback offered by UMAC - it is called if the current
4692 req has returned PENDING as status; it delivers the status of sending
4693 the message over the BUS */
4694 WDI_ReqStatusCb wdiReqStatusCB;
4695
4696 /*The user data passed in by UMAC, it will be sent back when the above
4697 function pointer will be called */
4698 void* pUserData;
4699}WDI_TrafficStatsIndType;
4700
Chet Lanctot186b5732013-03-18 10:26:30 -07004701#ifdef WLAN_FEATURE_11W
4702typedef struct
4703{
4704
4705 wpt_boolean bExcludeUnencrypt;
4706 wpt_macAddr bssid;
4707 /*Request status callback offered by UMAC - it is called if the current
4708 req has returned PENDING as status; it delivers the status of sending
4709 the message over the BUS */
4710 WDI_ReqStatusCb wdiReqStatusCB;
4711
4712 /*The user data passed in by UMAC, it will be sent back when the above
4713 function pointer will be called */
4714 void* pUserData;
4715}WDI_ExcludeUnencryptIndType;
4716#endif
4717
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004718/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004719 WDI_WlanResumeInfoType
4720---------------------------------------------------------------------------*/
4721typedef struct
4722{
4723 /* Mode of Mcast and Bcast filters configured */
4724 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4725}WDI_WlanResumeInfoType;
4726
4727/*---------------------------------------------------------------------------
4728 WDI_ResumeParamsType
4729---------------------------------------------------------------------------*/
4730typedef struct
4731{
4732 WDI_WlanResumeInfoType wdiResumeParams;
4733
4734 /*Request status callback offered by UMAC - it is called if the current
4735 req has returned PENDING as status; it delivers the status of sending
4736 the message over the BUS */
4737 WDI_ReqStatusCb wdiReqStatusCB;
4738
4739 /*The user data passed in by UMAC, it will be sent back when the above
4740 function pointer will be called */
4741 void* pUserData;
4742
4743}WDI_ResumeParamsType;
4744
4745#ifdef WLAN_FEATURE_GTK_OFFLOAD
4746/*---------------------------------------------------------------------------
4747 * WDI_GTK_OFFLOAD_REQ
4748 *--------------------------------------------------------------------------*/
4749
4750typedef struct
4751{
4752 wpt_uint32 ulFlags; /* optional flags */
4753 wpt_uint8 aKCK[16]; /* Key confirmation key */
4754 wpt_uint8 aKEK[16]; /* key encryption key */
4755 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004756 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004757} WDI_GtkOffloadReqParams;
4758
4759typedef struct
4760{
4761 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4762
4763 /*Request status callback offered by UMAC - it is called if the current
4764 req has returned PENDING as status; it delivers the status of sending
4765 the message over the BUS */
4766 WDI_ReqStatusCb wdiReqStatusCB;
4767
4768 /*The user data passed in by UMAC, it will be sent back when the above
4769 function pointer will be called */
4770 void* pUserData;
4771} WDI_GtkOffloadReqMsg;
4772
4773/*---------------------------------------------------------------------------
4774 * WDI_GTK_OFFLOAD_RSP
4775 *--------------------------------------------------------------------------*/
4776typedef struct
4777{
4778 /* success or failure */
4779 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004780 /*BssIdx of the response */
4781 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004782} WDI_GtkOffloadRspParams;
4783
4784typedef struct
4785{
4786 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4787
4788 /*Request status callback offered by UMAC - it is called if the current
4789 req has returned PENDING as status; it delivers the status of sending
4790 the message over the BUS */
4791 WDI_ReqStatusCb wdiReqStatusCB;
4792
4793 /*The user data passed in by UMAC, it will be sent back when the above
4794 function pointer will be called */
4795 void* pUserData;
4796} WDI_GtkOffloadRspMsg;
4797
4798
4799/*---------------------------------------------------------------------------
4800* WDI_GTK_OFFLOAD_GETINFO_REQ
4801*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004802typedef struct
4803{
4804 /*BssIdx of the response */
4805 wpt_macAddr bssId;
4806} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004807
4808typedef struct
4809{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004810
4811 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004812 /*Request status callback offered by UMAC - it is called if the current
4813 req has returned PENDING as status; it delivers the status of sending
4814 the message over the BUS */
4815 WDI_ReqStatusCb wdiReqStatusCB;
4816
4817 /*The user data passed in by UMAC, it will be sent back when the above
4818 function pointer will be called */
4819 void* pUserData;
4820} WDI_GtkOffloadGetInfoReqMsg;
4821
4822/*---------------------------------------------------------------------------
4823* WDI_GTK_OFFLOAD_GETINFO_RSP
4824*--------------------------------------------------------------------------*/
4825typedef struct
4826{
4827 wpt_uint32 ulStatus; /* success or failure */
4828 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4829 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4830 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4831 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304832 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004833} WDI_GtkOffloadGetInfoRspParams;
4834
4835typedef struct
4836{
4837 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4838
4839 /*Request status callback offered by UMAC - it is called if the current
4840 req has returned PENDING as status; it delivers the status of sending
4841 the message over the BUS */
4842 WDI_ReqStatusCb wdiReqStatusCB;
4843
4844 /*The user data passed in by UMAC, it will be sent back when the above
4845 function pointer will be called */
4846 void* pUserData;
4847} WDI_GtkOffloadGetInfoRspMsg;
4848#endif // WLAN_FEATURE_GTK_OFFLOAD
4849
4850/*---------------------------------------------------------------------------
4851 WDI_SuspendResumeRspParamsType
4852---------------------------------------------------------------------------*/
4853typedef struct
4854{
4855 /*Status of the response*/
4856 WDI_Status wdiStatus;
4857}WDI_SuspendResumeRspParamsType;
4858
Leo Chang9056f462013-08-01 19:21:11 -07004859#ifdef FEATURE_WLAN_LPHB
4860/*---------------------------------------------------------------------------
4861 WDI Low Power Heart Beat Config request
4862 Copy from sirApi.h to avoid compile error
4863---------------------------------------------------------------------------*/
4864#define WDI_LPHB_FILTER_LEN 64
4865
4866typedef enum
4867{
4868 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4869 WDI_LPHB_SET_TCP_PARAMS_INDID,
4870 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4871 WDI_LPHB_SET_UDP_PARAMS_INDID,
4872 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4873 WDI_LPHB_SET_NETWORK_INFO_INDID,
4874} WDI_LPHBIndType;
4875
4876typedef struct
4877{
4878 wpt_uint8 enable;
4879 wpt_uint8 item;
4880 wpt_uint8 session;
4881} WDI_LPHBEnableStruct;
4882
4883typedef struct
4884{
4885 wpt_uint32 srv_ip;
4886 wpt_uint32 dev_ip;
4887 wpt_uint16 src_port;
4888 wpt_uint16 dst_port;
4889 wpt_uint16 timeout;
4890 wpt_uint8 session;
4891 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004892 wpt_uint16 timePeriodSec; // in seconds
4893 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004894} WDI_LPHBTcpParamStruct;
4895
4896typedef struct
4897{
4898 wpt_uint16 length;
4899 wpt_uint8 offset;
4900 wpt_uint8 session;
4901 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4902} WDI_LPHBTcpFilterStruct;
4903
4904typedef struct
4905{
4906 wpt_uint32 srv_ip;
4907 wpt_uint32 dev_ip;
4908 wpt_uint16 src_port;
4909 wpt_uint16 dst_port;
4910 wpt_uint16 interval;
4911 wpt_uint16 timeout;
4912 wpt_uint8 session;
4913 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4914} WDI_LPHBUdpParamStruct;
4915
4916typedef struct
4917{
4918 wpt_uint16 length;
4919 wpt_uint8 offset;
4920 wpt_uint8 session;
4921 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4922} WDI_LPHBUdpFilterStruct;
4923
4924typedef struct
4925{
4926 wpt_uint16 cmd;
4927 wpt_uint16 dummy;
4928 union
4929 {
4930 WDI_LPHBEnableStruct lphbEnableReq;
4931 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4932 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4933 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4934 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4935 } params;
4936} WDI_LPHBReq;
4937#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004938
Jeff Johnson295189b2012-06-20 16:38:30 -07004939/*---------------------------------------------------------------------------
4940 WDI_AuthType
4941---------------------------------------------------------------------------*/
4942typedef enum
4943{
4944 WDI_AUTH_TYPE_ANY = 0,
4945
4946 WDI_AUTH_TYPE_NONE,
4947 WDI_AUTH_TYPE_OPEN_SYSTEM,
4948 WDI_AUTH_TYPE_SHARED_KEY,
4949
4950 WDI_AUTH_TYPE_WPA,
4951 WDI_AUTH_TYPE_WPA_PSK,
4952 WDI_AUTH_TYPE_WPA_NONE,
4953
4954 WDI_AUTH_TYPE_RSN,
4955 WDI_AUTH_TYPE_RSN_PSK,
4956 WDI_AUTH_TYPE_FT_RSN,
4957 WDI_AUTH_TYPE_FT_RSN_PSK,
4958 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4959 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4960 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4961
4962}WDI_AuthType;
4963
4964/*---------------------------------------------------------------------------
4965 WDI_EdType
4966---------------------------------------------------------------------------*/
4967typedef enum
4968{
4969 WDI_ED_ANY = 0,
4970 WDI_ED_NONE,
4971 WDI_ED_WEP40,
4972 WDI_ED_WEP104,
4973 WDI_ED_TKIP,
4974 WDI_ED_CCMP,
4975 WDI_ED_WPI,
4976 WDI_ED_AES_128_CMAC,
4977 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4978} WDI_EdType;
4979
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004980#ifdef FEATURE_WLAN_SCAN_PNO
4981
4982/*Max number of channels for a given network supported by PNO*/
4983#define WDI_PNO_MAX_NETW_CHANNELS 26
4984
4985/*Max number of channels for a given network supported by PNO*/
4986#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4987
4988/*The max number of programable networks for PNO*/
4989#define WDI_PNO_MAX_SUPP_NETWORKS 16
4990
4991/*The max number of scan timers programable in Riva*/
4992#define WDI_PNO_MAX_SCAN_TIMERS 10
4993
4994#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004995
4996/*---------------------------------------------------------------------------
4997 WDI_PNOMode
4998---------------------------------------------------------------------------*/
4999typedef enum
5000{
5001 /*Network offload is to start immediately*/
5002 WDI_PNO_MODE_IMMEDIATE,
5003
5004 /*Network offload is to start on host suspend*/
5005 WDI_PNO_MODE_ON_SUSPEND,
5006
5007 /*Network offload is to start on host resume*/
5008 WDI_PNO_MODE_ON_RESUME,
5009 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5010} WDI_PNOMode;
5011
5012/* SSID broadcast type */
5013typedef enum
5014{
5015 WDI_BCAST_UNKNOWN = 0,
5016 WDI_BCAST_NORMAL = 1,
5017 WDI_BCAST_HIDDEN = 2,
5018
5019 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5020} WDI_SSIDBcastType;
5021
5022/*---------------------------------------------------------------------------
5023 WDI_NetworkType
5024---------------------------------------------------------------------------*/
5025typedef struct
5026{
5027 /*The SSID of the preferred network*/
5028 WDI_MacSSid ssId;
5029
5030 /*The authentication method of the preferred network*/
5031 WDI_AuthType wdiAuth;
5032
5033 /*The encryption method of the preferred network*/
5034 WDI_EdType wdiEncryption;
5035
5036 /*SSID broadcast type, normal, hidden or unknown*/
5037 WDI_SSIDBcastType wdiBcastNetworkType;
5038
5039 /*channel count - 0 for all channels*/
5040 wpt_uint8 ucChannelCount;
5041
5042 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305043 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005044
5045 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5046 wpt_uint8 rssiThreshold;
5047} WDI_NetworkType;
5048
5049
5050/*---------------------------------------------------------------------------
5051 WDI_ScanTimer
5052---------------------------------------------------------------------------*/
5053typedef struct
5054{
5055 /*The timer value*/
5056 wpt_uint32 uTimerValue;
5057
5058 /*The amount of time we should be repeating the interval*/
5059 wpt_uint32 uTimerRepeat;
5060} WDI_ScanTimer;
5061
5062/*---------------------------------------------------------------------------
5063 WDI_ScanTimersType
5064---------------------------------------------------------------------------*/
5065typedef struct
5066{
5067 /*The number of value pair intervals present in the array*/
5068 wpt_uint8 ucScanTimersCount;
5069
5070 /*The time-repeat value pairs*/
5071 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5072} WDI_ScanTimersType;
5073
5074/*---------------------------------------------------------------------------
5075 WDI_PNOScanReqType
5076---------------------------------------------------------------------------*/
5077typedef struct
5078{
5079 /*Enable or disable PNO feature*/
5080 wpt_uint8 bEnable;
5081
5082 /*PNO mode requested*/
5083 WDI_PNOMode wdiModePNO;
5084
5085 /*Network count*/
5086 wpt_uint8 ucNetworksCount;
5087
5088 /*The networks to look for*/
5089 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5090
5091 /*Scan timer intervals*/
5092 WDI_ScanTimersType scanTimers;
5093
5094 /*Probe template for 2.4GHz band*/
5095 wpt_uint16 us24GProbeSize;
5096 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5097
5098 /*Probe template for 5GHz band*/
5099 wpt_uint16 us5GProbeSize;
5100 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5101} WDI_PNOScanReqType;
5102
5103/*---------------------------------------------------------------------------
5104 WDI_PNOScanReqParamsType
5105 PNO info passed to WDI form WDA
5106---------------------------------------------------------------------------*/
5107typedef struct
5108{
5109 /* PNO Info Type, same as tPrefNetwListParams */
5110 WDI_PNOScanReqType wdiPNOScanInfo;
5111 /* Request status callback offered by UMAC - it is called if the current req
5112 has returned PENDING as status; it delivers the status of sending the message
5113 over the BUS */
5114 WDI_ReqStatusCb wdiReqStatusCB;
5115 /* The user data passed in by UMAC, it will be sent back when the above
5116 function pointer will be called */
5117 void* pUserData;
5118} WDI_PNOScanReqParamsType;
5119
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005120/*---------------------------------------------------------------------------
5121 WDI_SetRssiFilterReqParamsType
5122 PNO info passed to WDI form WDA
5123---------------------------------------------------------------------------*/
5124typedef struct
5125{
5126 /* RSSI Threshold */
5127 wpt_uint8 rssiThreshold;
5128 /* Request status callback offered by UMAC - it is called if the current req
5129 has returned PENDING as status; it delivers the status of sending the message
5130 over the BUS */
5131 WDI_ReqStatusCb wdiReqStatusCB;
5132 /* The user data passed in by UMAC, it will be sent back when the above
5133 function pointer will be called */
5134 void* pUserData;
5135} WDI_SetRssiFilterReqParamsType;
5136
5137/*---------------------------------------------------------------------------
5138 WDI_UpdateScanParamsInfo
5139---------------------------------------------------------------------------*/
5140typedef struct
5141{
5142 /*Is 11d enabled*/
5143 wpt_uint8 b11dEnabled;
5144
5145 /*Was UMAc able to find the regulatory domain*/
5146 wpt_uint8 b11dResolved;
5147
5148 /*Number of channel allowed in the regulatory domain*/
5149 wpt_uint8 ucChannelCount;
5150
5151 /*The actual channels allowed in the regulatory domain*/
5152 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5153
5154 /*Passive min channel time*/
5155 wpt_uint16 usPassiveMinChTime;
5156
5157 /*Passive max channel time*/
5158 wpt_uint16 usPassiveMaxChTime;
5159
5160 /*Active min channel time*/
5161 wpt_uint16 usActiveMinChTime;
5162
5163 /*Active max channel time*/
5164 wpt_uint16 usActiveMaxChTime;
5165
5166 /*channel bonding info*/
5167 wpt_uint8 cbState;
5168} WDI_UpdateScanParamsInfo;
5169
5170/*---------------------------------------------------------------------------
5171 WDI_UpdateScanParamsInfoType
5172 UpdateScanParams info passed to WDI form WDA
5173---------------------------------------------------------------------------*/
5174typedef struct
5175{
5176 /* PNO Info Type, same as tUpdateScanParams */
5177 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5178 /* Request status callback offered by UMAC - it is called if the current req
5179 has returned PENDING as status; it delivers the status of sending the message
5180 over the BUS */
5181 WDI_ReqStatusCb wdiReqStatusCB;
5182 /* The user data passed in by UMAC, it will be sent back when the above
5183 function pointer will be called */
5184 void* pUserData;
5185} WDI_UpdateScanParamsInfoType;
5186#endif //FEATURE_WLAN_SCAN_PNO
5187
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005188#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5189
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005190#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005191#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005192
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005193typedef struct
5194{
5195 /*The SSID of the preferred network*/
5196 WDI_MacSSid ssId;
5197 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5198
5199 /*The authentication method of the preferred network*/
5200 WDI_AuthType authentication;
5201
5202 /*The encryption method of the preferred network*/
5203 WDI_EdType encryption;
5204 WDI_EdType mcencryption;
5205
5206 /*SSID broadcast type, normal, hidden or unknown*/
5207 //WDI_SSIDBcastType wdiBcastNetworkType;
5208
5209 /*channel count - 0 for all channels*/
5210 wpt_uint8 ChannelCount;
5211
5212 /*the actual channels*/
5213 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5214
5215} WDI_RoamNetworkType;
5216
5217typedef struct WDIMobilityDomainInfo
5218{
5219 wpt_uint8 mdiePresent;
5220 wpt_uint16 mobilityDomain;
5221} WDI_MobilityDomainInfo;
5222
5223/*---------------------------------------------------------------------------
5224 WDI_RoamOffloadScanInfo
5225---------------------------------------------------------------------------*/
5226typedef struct
5227{
5228 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005229 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005230 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005231 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005232 wpt_uint8 RoamRssiDiff;
5233 wpt_uint8 ChannelCacheType;
5234 wpt_uint8 Command;
5235 wpt_uint8 StartScanReason;
5236 wpt_uint16 NeighborScanTimerPeriod;
5237 wpt_uint16 NeighborRoamScanRefreshPeriod;
5238 wpt_uint16 NeighborScanChannelMinTime;
5239 wpt_uint16 NeighborScanChannelMaxTime;
5240 wpt_uint16 EmptyRefreshScanPeriod;
5241 wpt_uint8 ValidChannelCount;
5242 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005243 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005244 /*Probe template for 2.4GHz band*/
5245 wpt_uint16 us24GProbeSize;
5246 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5247
5248 /*Probe template for 5GHz band*/
5249 wpt_uint16 us5GProbeSize;
5250 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005251 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005252 * As per requirement, later, the following structure can be used as an array of networks.*/
5253 WDI_RoamNetworkType ConnectedNetwork;
5254 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005255 wpt_uint8 nProbes;
5256 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005257} WDI_RoamOffloadScanInfo;
5258
5259typedef struct
5260{
5261 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5262 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5263 /* Request status callback offered by UMAC - it is called if the current req
5264 has returned PENDING as status; it delivers the status of sending the message
5265 over the BUS */
5266 WDI_ReqStatusCb wdiReqStatusCB;
5267 /* The user data passed in by UMAC, it will be sent back when the above
5268 function pointer will be called */
5269 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005270} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005271#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005272
5273/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305274 WDI_HT40ObssScanIndType
5275---------------------------------------------------------------------------*/
5276typedef struct
5277{
5278 wpt_uint8 cmdType;
5279 wpt_uint8 scanType;
5280 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5281 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5282 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5283 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5284 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5285 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5286 wpt_uint16 OBSSScanActivityThreshold;
5287 wpt_uint8 selfStaIdx;
5288 wpt_uint8 bssIdx;
5289 wpt_uint8 fortyMHZIntolerent;
5290 wpt_uint8 channelCount;
5291 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5292 wpt_uint8 currentOperatingClass;
5293 wpt_uint16 ieFieldLen;
5294 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5295} WDI_HT40ObssScanIndType;
5296
5297
5298/*---------------------------------------------------------------------------
5299 WDI_OBSSScanIndParamsType
5300---------------------------------------------------------------------------*/
5301typedef struct
5302{
5303 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5304
5305 /*Request status callback offered by UMAC - it is called if the current
5306 req has returned PENDING as status; it delivers the status of sending
5307 the message over the BUS */
5308 WDI_ReqStatusCb wdiReqStatusCB;
5309
5310 /*The user data passed in by UMAC, it will be sent back when the above
5311 function pointer will be called */
5312 void* pUserData;
5313
5314}WDI_HT40ObssScanParamsType;
5315
5316/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005317 WDI_UpdateScanParamsInfo
5318---------------------------------------------------------------------------*/
5319typedef struct
5320{
5321 /* Ignore DTIM */
5322 wpt_uint32 uIgnoreDTIM;
5323
5324 /*DTIM Period*/
5325 wpt_uint32 uDTIMPeriod;
5326
5327 /* Listen Interval */
5328 wpt_uint32 uListenInterval;
5329
5330 /* Broadcast Multicas Filter */
5331 wpt_uint32 uBcastMcastFilter;
5332
5333 /* Beacon Early Termination */
5334 wpt_uint32 uEnableBET;
5335
5336 /* Beacon Early Termination Interval */
5337 wpt_uint32 uBETInterval;
5338
Yue Mac24062f2013-05-13 17:01:29 -07005339 /* MAX LI for modulated DTIM */
5340 wpt_uint32 uMaxLIModulatedDTIM;
5341
Jeff Johnson295189b2012-06-20 16:38:30 -07005342} WDI_SetPowerParamsInfo;
5343
5344/*---------------------------------------------------------------------------
5345 WDI_UpdateScanParamsInfoType
5346 UpdateScanParams info passed to WDI form WDA
5347---------------------------------------------------------------------------*/
5348typedef struct
5349{
5350 /* Power params Info Type, same as tSetPowerParamsReq */
5351 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5352 /* Request status callback offered by UMAC - it is called if the current req
5353 has returned PENDING as status; it delivers the status of sending the message
5354 over the BUS */
5355 WDI_ReqStatusCb wdiReqStatusCB;
5356 /* The user data passed in by UMAC, it will be sent back when the above
5357 function pointer will be called */
5358 void* pUserData;
5359}WDI_SetPowerParamsReqParamsType;
5360
5361/*---------------------------------------------------------------------------
5362 WDI_SetTxPerTrackingConfType
5363 Wowl add ptrn info passed to WDA form UMAC
5364---------------------------------------------------------------------------*/
5365typedef struct
5366{
5367 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5368 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5369 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5370 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5371} WDI_TxPerTrackingParamType;
5372
5373/*---------------------------------------------------------------------------
5374 WDI_SetTxPerTrackingReqParamsType
5375 Tx PER Tracking parameters passed to WDI from WDA
5376---------------------------------------------------------------------------*/
5377typedef struct
5378{
5379 /* Configurations for Tx PER Tracking */
5380 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5381 /*Request status callback offered by UMAC - it is called if the current req
5382 has returned PENDING as status; it delivers the status of sending the message
5383 over the BUS */
5384 WDI_ReqStatusCb wdiReqStatusCB;
5385 /*The user data passed in by UMAC, it will be sent back when the above
5386 function pointer will be called */
5387 void* pUserData;
5388}WDI_SetTxPerTrackingReqParamsType;
5389
5390#ifdef WLAN_FEATURE_PACKET_FILTERING
5391/*---------------------------------------------------------------------------
5392 Packet Filtering Parameters
5393---------------------------------------------------------------------------*/
5394
5395#define WDI_IPV4_ADDR_LEN 4
5396#define WDI_MAC_ADDR_LEN 6
5397#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5398#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5399#define WDI_MAX_NUM_FILTERS 20
5400#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5401
5402//
5403// Receive Filter Parameters
5404//
5405typedef enum
5406{
5407 WDI_RCV_FILTER_TYPE_INVALID,
5408 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5409 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5410 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5411}WDI_ReceivePacketFilterType;
5412
5413typedef enum
5414{
5415 WDI_FILTER_HDR_TYPE_INVALID,
5416 WDI_FILTER_HDR_TYPE_MAC,
5417 WDI_FILTER_HDR_TYPE_ARP,
5418 WDI_FILTER_HDR_TYPE_IPV4,
5419 WDI_FILTER_HDR_TYPE_IPV6,
5420 WDI_FILTER_HDR_TYPE_UDP,
5421 WDI_FILTER_HDR_TYPE_MAX
5422}WDI_RcvPktFltProtocolType;
5423
5424typedef enum
5425{
5426 WDI_FILTER_CMP_TYPE_INVALID,
5427 WDI_FILTER_CMP_TYPE_EQUAL,
5428 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5429 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5430 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5431 WDI_FILTER_CMP_TYPE_MAX
5432}WDI_RcvPktFltCmpFlagType;
5433
5434typedef struct
5435{
5436 WDI_RcvPktFltProtocolType protocolLayer;
5437 WDI_RcvPktFltCmpFlagType cmpFlag;
5438/* Length of the data to compare */
5439 wpt_uint16 dataLength;
5440/* from start of the respective frame header */
5441 wpt_uint8 dataOffset;
5442 wpt_uint8 reserved; /* Reserved field */
5443/* Data to compare */
5444 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5445/* Mask to be applied on the received packet data before compare */
5446 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5447}WDI_RcvPktFilterFieldParams;
5448
5449typedef struct
5450{
5451 wpt_uint8 filterId;
5452 wpt_uint8 filterType;
5453 wpt_uint32 numFieldParams;
5454 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005455 wpt_macAddr selfMacAddr;
5456 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005457 WDI_RcvPktFilterFieldParams paramsData[1];
5458
Jeff Johnson295189b2012-06-20 16:38:30 -07005459}WDI_RcvPktFilterCfgType;
5460
5461typedef struct
5462{
5463 /*Request status callback offered by UMAC - it is called if the current
5464 req has returned PENDING as status; it delivers the status of sending
5465 the message over the BUS */
5466 WDI_ReqStatusCb wdiReqStatusCB;
5467
5468 /*The user data passed in by UMAC, it will be sent back when the above
5469 function pointer will be called */
5470 void* pUserData;
5471
5472 // Variable length packet filter field params
5473 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5474} WDI_SetRcvPktFilterReqParamsType;
5475
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005476typedef struct
5477{
5478 /*Result of the operation*/
5479 WDI_Status wdiStatus;
5480 /* BSSIDX of the Set Receive Filter
5481 */
5482 wpt_uint8 bssIdx;
5483} WDI_SetRcvPktFilterRspParamsType;
5484
Jeff Johnson295189b2012-06-20 16:38:30 -07005485//
5486// Filter Packet Match Count Parameters
5487//
5488typedef struct
5489{
5490 /*Request status callback offered by UMAC - it is called if the current
5491 req has returned PENDING as status; it delivers the status of sending
5492 the message over the BUS */
5493 WDI_ReqStatusCb wdiReqStatusCB;
5494
5495 /*The user data passed in by UMAC, it will be sent back when the above
5496 function pointer will be called */
5497 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005498
5499 /* BSSID of the Match count
5500 */
5501 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005502} WDI_RcvFltPktMatchCntReqParamsType;
5503
5504typedef struct
5505{
5506 wpt_uint8 filterId;
5507 wpt_uint32 matchCnt;
5508} WDI_RcvFltPktMatchCnt;
5509
5510typedef struct
5511{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005512 /*Result of the operation*/
5513 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005514
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005515 /* BSSIDX of the Match count response
5516 */
5517 wpt_uint8 bssIdx;
5518
Jeff Johnson295189b2012-06-20 16:38:30 -07005519} WDI_RcvFltPktMatchCntRspParamsType;
5520
Jeff Johnson295189b2012-06-20 16:38:30 -07005521//
5522// Receive Filter Clear Parameters
5523//
5524typedef struct
5525{
5526 wpt_uint32 status; /* only valid for response message */
5527 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005528 wpt_macAddr selfMacAddr;
5529 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005530}WDI_RcvFltPktClearParam;
5531
5532typedef struct
5533{
5534 WDI_RcvFltPktClearParam filterClearParam;
5535 /*Request status callback offered by UMAC - it is called if the current
5536 req has returned PENDING as status; it delivers the status of sending
5537 the message over the BUS */
5538 WDI_ReqStatusCb wdiReqStatusCB;
5539
5540 /*The user data passed in by UMAC, it will be sent back when the above
5541 function pointer will be called */
5542 void* pUserData;
5543} WDI_RcvFltPktClearReqParamsType;
5544
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005545typedef struct
5546{
5547 /*Result of the operation*/
5548 WDI_Status wdiStatus;
5549 /* BSSIDX of the Match count response
5550 */
5551 wpt_uint8 bssIdx;
5552
5553} WDI_RcvFltPktClearRspParamsType;
5554
Jeff Johnson295189b2012-06-20 16:38:30 -07005555//
5556// Multicast Address List Parameters
5557//
5558typedef struct
5559{
5560 wpt_uint32 ulMulticastAddrCnt;
5561 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005562 wpt_macAddr selfMacAddr;
5563 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005564} WDI_RcvFltMcAddrListType;
5565
5566typedef struct
5567{
5568 WDI_RcvFltMcAddrListType mcAddrList;
5569 /*Request status callback offered by UMAC - it is called if the current
5570 req has returned PENDING as status; it delivers the status of sending
5571 the message over the BUS */
5572 WDI_ReqStatusCb wdiReqStatusCB;
5573
5574 /*The user data passed in by UMAC, it will be sent back when the above
5575 function pointer will be called */
5576 void* pUserData;
5577} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005578
5579typedef struct
5580{
5581 /*Result of the operation*/
5582 WDI_Status wdiStatus;
5583 /* BSSIDX of the Match count response
5584 */
5585 wpt_uint8 bssIdx;
5586} WDI_RcvFltPktSetMcListRspParamsType;
5587
Jeff Johnson295189b2012-06-20 16:38:30 -07005588#endif // WLAN_FEATURE_PACKET_FILTERING
5589
5590/*---------------------------------------------------------------------------
5591 WDI_HALDumpCmdReqInfoType
5592---------------------------------------------------------------------------*/
5593typedef struct
5594{
5595 /*command*/
5596 wpt_uint32 command;
5597
5598 /*Arguments*/
5599 wpt_uint32 argument1;
5600 wpt_uint32 argument2;
5601 wpt_uint32 argument3;
5602 wpt_uint32 argument4;
5603
5604}WDI_HALDumpCmdReqInfoType;
5605
5606/*---------------------------------------------------------------------------
5607 WDI_HALDumpCmdReqParamsType
5608---------------------------------------------------------------------------*/
5609typedef struct
5610{
5611 /*NV Blob Info*/
5612 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5613
5614 /*Request status callback offered by UMAC - it is called if the current
5615 req has returned PENDING as status; it delivers the status of sending
5616 the message over the BUS */
5617 WDI_ReqStatusCb wdiReqStatusCB;
5618
5619 /*The user data passed in by UMAC, it will be sent back when the above
5620 function pointer will be called */
5621 void* pUserData;
5622
5623}WDI_HALDumpCmdReqParamsType;
5624
5625
5626/*---------------------------------------------------------------------------
5627 WDI_HALDumpCmdRspParamsType
5628---------------------------------------------------------------------------*/
5629typedef struct
5630{
5631 /*Result of the operation*/
5632 WDI_Status wdiStatus;
5633
5634 /* length of the buffer */
5635 wpt_uint16 usBufferLen;
5636
5637 /* Buffer */
5638 wpt_uint8 *pBuffer;
5639}WDI_HALDumpCmdRspParamsType;
5640
5641
5642/*---------------------------------------------------------------------------
5643 WDI_SetTmLevelReqType
5644---------------------------------------------------------------------------*/
5645typedef struct
5646{
5647 wpt_uint16 tmMode;
5648 wpt_uint16 tmLevel;
5649 void* pUserData;
5650}WDI_SetTmLevelReqType;
5651
5652/*---------------------------------------------------------------------------
5653 WDI_SetTmLevelRspType
5654---------------------------------------------------------------------------*/
5655typedef struct
5656{
5657 WDI_Status wdiStatus;
5658 void* pUserData;
5659}WDI_SetTmLevelRspType;
5660
Leo Chang9056f462013-08-01 19:21:11 -07005661#ifdef FEATURE_WLAN_LPHB
5662/*---------------------------------------------------------------------------
5663 WDI_LPHBConfigParamsType
5664---------------------------------------------------------------------------*/
5665typedef struct
5666{
5667 void* pLphsConfIndData;
5668}WDI_LPHBConfigParamsType;
5669#endif /* FEATURE_WLAN_LPHB */
5670
Yue Mab9c86f42013-08-14 15:59:08 -07005671/*---------------------------------------------------------------------------
5672 WDI_AddPeriodicTxPtrnInfoType
5673---------------------------------------------------------------------------*/
5674typedef struct
5675{
5676 /* MAC Address for the adapter */
5677 wpt_macAddr macAddr;
5678
5679 wpt_uint8 ucPtrnId; // Pattern ID
5680 wpt_uint16 ucPtrnSize; // Pattern size
5681 wpt_uint32 usPtrnIntervalMs; // In msec
5682 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5683} WDI_AddPeriodicTxPtrnInfoType;
5684
5685/*---------------------------------------------------------------------------
5686 WDI_DelPeriodicTxPtrnInfoType
5687---------------------------------------------------------------------------*/
5688typedef struct
5689{
5690 /* MAC Address for the adapter */
5691 wpt_macAddr macAddr;
5692
5693 /* Bitmap of pattern IDs that needs to be deleted */
5694 wpt_uint32 ucPatternIdBitmap;
5695} WDI_DelPeriodicTxPtrnInfoType;
5696
5697/*---------------------------------------------------------------------------
5698 WDI_AddPeriodicTxPtrnParamsType
5699---------------------------------------------------------------------------*/
5700typedef struct
5701{
5702 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5703
5704 /*Request status callback offered by UMAC - it is called if the current
5705 req has returned PENDING as status; it delivers the status of sending
5706 the message over the BUS */
5707 WDI_ReqStatusCb wdiReqStatusCB;
5708
5709 /*The user data passed in by UMAC, it will be sent back when the above
5710 function pointer will be called */
5711 void* pUserData;
5712} WDI_AddPeriodicTxPtrnParamsType;
5713
5714/*---------------------------------------------------------------------------
5715 WDI_DelPeriodicTxPtrnParamsType
5716---------------------------------------------------------------------------*/
5717typedef struct
5718{
5719 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5720
5721 /*Request status callback offered by UMAC - it is called if the current
5722 req has returned PENDING as status; it delivers the status of sending
5723 the message over the BUS */
5724 WDI_ReqStatusCb wdiReqStatusCB;
5725
5726 /*The user data passed in by UMAC, it will be sent back when the above
5727 function pointer will be called */
5728 void* pUserData;
5729} WDI_DelPeriodicTxPtrnParamsType;
5730
Dino Mycle41bdc942014-06-10 11:30:24 +05305731#ifdef WLAN_FEATURE_EXTSCAN
5732
5733#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5734#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5735#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5736#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5737
5738typedef enum
5739{
5740 WDI_WIFI_BAND_UNSPECIFIED,
5741 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5742 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5743 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5744 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5745 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5746 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5747
5748 /* Keep it last */
5749 WDI_WIFI_BAND_MAX
5750} WDI_WifiBand;
5751
5752typedef struct
5753{
5754 wpt_uint32 channel; // frequency
5755 wpt_uint32 dwellTimeMs; // dwell time hint
5756 wpt_uint8 passive; // 0 => active,
5757 // 1 => passive scan; ignored for DFS
5758 wpt_uint8 chnlClass;
5759} WDI_WifiScanChannelSpec;
5760
5761typedef struct
5762{
5763 wpt_uint8 bucket; // bucket index, 0 based
5764 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5765
5766 /*
5767 * desired period, in millisecond; if this is too
5768 * low, the firmware should choose to generate results as fast as
5769 * it can instead of failing the command byte
5770 */
5771 wpt_uint32 period;
5772
5773 /*
5774 * 0 => normal reporting (reporting rssi history
5775 * only, when rssi history buffer is % full)
5776 * 1 => same as 0 + report a scan completion event after scanning
5777 * this bucket
5778 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5779 * in real time to HAL
5780 */
5781 wpt_uint8 reportEvents;
5782
5783 wpt_uint8 numChannels;
5784
5785 /*
5786 * channels to scan; these may include DFS channels
5787 */
5788 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5789} WDI_WifiScanBucketSpec;
5790
5791typedef struct
5792{
5793 wpt_uint32 requestId;
5794 wpt_uint8 sessionId;
5795 wpt_uint32 basePeriod; // base timer period
5796 wpt_uint32 maxAPperScan;
5797
5798 /* in %, when buffer is this much full, wake up host */
5799 wpt_uint32 reportThreshold;
5800
5801 wpt_uint8 numBuckets;
5802 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5803} WDI_EXTScanStartReqParams;
5804
5805typedef struct
5806{
5807 wpt_uint32 requestId;
5808 wpt_uint8 sessionId;
5809} WDI_EXTScanStopReqParams;
5810
5811typedef struct
5812{
5813 wpt_uint32 requestId;
5814 wpt_uint8 sessionId;
5815
5816 /*
5817 * 1 return cached results and flush it
5818 * 0 return cached results and do not flush
5819 */
5820 wpt_boolean flush;
5821} WDI_EXTScanGetCachedResultsReqParams;
5822
5823typedef struct
5824{
5825 wpt_uint32 requestId;
5826 wpt_uint8 sessionId;
5827} WDI_EXTScanGetCapabilitiesReqParams;
5828
5829typedef struct
5830{
5831 wpt_uint8 bssid[6]; /* BSSID */
5832 wpt_int32 low; // low threshold
5833 wpt_int32 high; // high threshold
5834 wpt_uint32 channel; // channel hint
5835} WDI_APThresholdParam;
5836
5837typedef struct
5838{
5839 wpt_int32 requestId;
5840 wpt_int8 sessionId; // session Id mapped to vdev_id
5841
5842 wpt_int32 numAp; // number of hotlist APs
5843 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5844} WDI_EXTScanSetBSSIDHotlistReqParams;
5845
5846typedef struct
5847{
5848 wpt_uint32 requestId;
5849 wpt_uint8 sessionId;
5850} WDI_EXTScanResetBSSIDHotlistReqParams;
5851
5852
5853typedef struct
5854{
5855 wpt_int32 requestId;
5856 wpt_int8 sessionId; // session Id mapped to vdev_id
5857
5858 /* number of samples for averaging RSSI */
5859 wpt_int32 rssiSampleSize;
5860
5861 /* number of missed samples to confirm AP loss */
5862 wpt_int32 lostApSampleSize;
5863
5864 /* number of APs breaching threshold required for firmware
5865 * to generate event
5866 */
5867 wpt_int32 minBreaching;
5868
5869 wpt_int32 numAp; // number of hotlist APs
5870 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5871} WDI_EXTScanSetSignfRSSIChangeReqParams;
5872
5873typedef struct
5874{
5875 wpt_uint32 requestId;
5876 wpt_uint8 sessionId;
5877} WDI_EXTScanResetSignfRSSIChangeReqParams;
5878#endif /* WLAN_FEATURE_EXTSCAN */
5879
Sunil Duttbd736ed2014-05-26 21:19:41 +05305880#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5881typedef struct
5882{
5883 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305884 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305885 wpt_uint32 mpduSizeThreshold;
5886 wpt_uint32 aggressiveStatisticsGathering;
5887}WDI_LLStatsSetReqType;
5888
5889typedef struct
5890{
5891 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305892 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305893 wpt_uint32 paramIdMask;
5894}WDI_LLStatsGetReqType;
5895
5896typedef struct
5897{
5898 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305899 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305900 wpt_uint32 statsClearReqMask;
5901 wpt_uint8 stopReq;
5902}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305903
Sunil Duttbd736ed2014-05-26 21:19:41 +05305904#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5905
Siddharth Bhal171788a2014-09-29 21:02:40 +05305906/*---------------------------------------------------------------------------
5907 WDI_SPOOF_MAC_ADDR_REQ
5908---------------------------------------------------------------------------*/
5909typedef struct
5910{
5911 /* Spoof MAC Address for FW */
5912 wpt_macAddr macAddr;
5913
5914 /* Reserved Params/fields */
5915 wpt_uint32 params;
5916 wpt_uint32 reserved;
5917} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305918
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05305919//This is to force compiler to use the maximum of an int for enum
5920#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
5921// Enum to specify whether key is used
5922// for TX only, RX only or both
5923typedef enum
5924{
5925 eWDI_TX_ONLY,
5926 eWDI_RX_ONLY,
5927 eWDI_TX_RX,
5928 eWDI_TX_DEFAULT,
5929 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
5930} tWDIKeyDirection;
5931
5932// MAX key length when ULA is used
5933#define SIR_MAC_MAX_KEY_LENGTH 32
5934/* Max key size including the WAPI and TKIP */
5935#define WLAN_MAX_KEY_RSC_LEN 16
5936// Definition for Encryption Keys
5937//typedef struct sSirKeys
5938typedef struct
5939{
5940 wpt_uint8 keyId;
5941 wpt_uint8 unicast; // 0 for multicast
5942 tWDIKeyDirection keyDirection;
5943 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
5944 wpt_uint8 paeRole; // =1 for authenticator,
5945 // =0 for supplicant
5946 wpt_uint16 keyLength;
5947 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
5948} tWDIKeys, *tpWDIKeys;
5949
5950typedef enum
5951{
5952 eWDI_WEP_STATIC,
5953 eWDI_WEP_DYNAMIC,
5954} tWDIWepType;
5955
5956// Encryption type enum used with peer
5957typedef enum
5958{
5959 eWDI_ED_NONE,
5960 eWDI_ED_WEP40,
5961 eWDI_ED_WEP104,
5962 eWDI_ED_TKIP,
5963 eWDI_ED_CCMP,
5964#if defined(FEATURE_WLAN_WAPI)
5965 eWDI_ED_WPI,
5966#endif
5967 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
5968 * Thus while setting BIP encryption mode in corresponding DPU Desc
5969 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
5970 */
5971 eWDI_ED_AES_128_CMAC,
5972 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
5973} tWDIEdType;
5974#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
5975/*
5976 * This is used by PE to configure the key information on a given station.
5977 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
5978 * a preconfigured key from a BSS the station assoicated with; otherwise
5979 * a new key descriptor is created based on the key field.
5980 */
5981typedef struct
5982{
5983 wpt_uint16 staIdx;
5984 tWDIEdType encType; // Encryption/Decryption type
5985 tWDIWepType wepType; // valid only for WEP
5986 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
5987 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
5988 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
5989 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
5990} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
5991
5992typedef struct
5993{
5994 tWDISetStaKeyParams keyParams;
5995 wpt_uint8 pn[6];
5996}wpt_encConfigParams;
5997
5998typedef struct
5999{
6000 wpt_uint16 length;
6001 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6002}wpt_payload;
6003
6004typedef struct
6005{
6006 wpt_80211Header macHeader;
6007 wpt_encConfigParams encParams;
6008 wpt_payload data;
6009}wpt_pkt80211;
6010
Jeff Johnson295189b2012-06-20 16:38:30 -07006011/*----------------------------------------------------------------------------
6012 * WDI callback types
6013 *--------------------------------------------------------------------------*/
6014
6015/*---------------------------------------------------------------------------
6016 WDI_StartRspCb
6017
6018 DESCRIPTION
6019
6020 This callback is invoked by DAL when it has received a Start response from
6021 the underlying device.
6022
6023 PARAMETERS
6024
6025 IN
6026 wdiRspParams: response parameters received from HAL
6027 pUserData: user data
6028
6029
6030 RETURN VALUE
6031 The result code associated with performing the operation
6032---------------------------------------------------------------------------*/
6033typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6034 void* pUserData);
6035
6036/*---------------------------------------------------------------------------
6037 WDI_StartRspCb
6038
6039 DESCRIPTION
6040
6041 This callback is invoked by DAL when it has received a Stop response from
6042 the underlying device.
6043
6044 PARAMETERS
6045
6046 IN
6047 wdiStatus: response status received from HAL
6048 pUserData: user data
6049
6050
6051
6052 RETURN VALUE
6053 The result code associated with performing the operation
6054---------------------------------------------------------------------------*/
6055typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6056 void* pUserData);
6057
6058/*---------------------------------------------------------------------------
6059 WDI_StartRspCb
6060
6061 DESCRIPTION
6062
6063 This callback is invoked by DAL when it has received an Init Scan response
6064 from the underlying device.
6065
6066 PARAMETERS
6067
6068 IN
6069 wdiStatus: response status received from HAL
6070 pUserData: user data
6071
6072
6073
6074 RETURN VALUE
6075 The result code associated with performing the operation
6076---------------------------------------------------------------------------*/
6077typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6078 void* pUserData);
6079
6080
6081/*---------------------------------------------------------------------------
6082 WDI_StartRspCb
6083
6084 DESCRIPTION
6085
6086 This callback is invoked by DAL when it has received a StartScan response
6087 from the underlying device.
6088
6089 PARAMETERS
6090
6091 IN
6092 wdiParams: response params received from HAL
6093 pUserData: user data
6094
6095
6096
6097 RETURN VALUE
6098 The result code associated with performing the operation
6099---------------------------------------------------------------------------*/
6100typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6101 void* pUserData);
6102
6103
6104/*---------------------------------------------------------------------------
6105 WDI_StartRspCb
6106
6107 DESCRIPTION
6108
6109 This callback is invoked by DAL when it has received a End Scan response
6110 from the underlying device.
6111
6112 PARAMETERS
6113
6114 IN
6115 wdiStatus: response status received from HAL
6116 pUserData: user data
6117
6118
6119
6120 RETURN VALUE
6121 The result code associated with performing the operation
6122---------------------------------------------------------------------------*/
6123typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6124 void* pUserData);
6125
6126
6127/*---------------------------------------------------------------------------
6128 WDI_StartRspCb
6129
6130 DESCRIPTION
6131
6132 This callback is invoked by DAL when it has received a Finish Scan response
6133 from the underlying device.
6134
6135 PARAMETERS
6136
6137 IN
6138 wdiStatus: response status received from HAL
6139 pUserData: user data
6140
6141
6142
6143 RETURN VALUE
6144 The result code associated with performing the operation
6145---------------------------------------------------------------------------*/
6146typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6147 void* pUserData);
6148
6149
6150/*---------------------------------------------------------------------------
6151 WDI_StartRspCb
6152
6153 DESCRIPTION
6154
6155 This callback is invoked by DAL when it has received a Join response from
6156 the underlying device.
6157
6158 PARAMETERS
6159
6160 IN
6161 wdiStatus: response status received from HAL
6162 pUserData: user data
6163
6164
6165
6166 RETURN VALUE
6167 The result code associated with performing the operation
6168---------------------------------------------------------------------------*/
6169typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6170 void* pUserData);
6171
6172
6173/*---------------------------------------------------------------------------
6174 WDI_StartRspCb
6175
6176 DESCRIPTION
6177
6178 This callback is invoked by DAL when it has received a Config BSS response
6179 from the underlying device.
6180
6181 PARAMETERS
6182
6183 IN
6184 wdiConfigBSSRsp: response parameters received from HAL
6185 pUserData: user data
6186
6187
6188 RETURN VALUE
6189 The result code associated with performing the operation
6190---------------------------------------------------------------------------*/
6191typedef void (*WDI_ConfigBSSRspCb)(
6192 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6193 void* pUserData);
6194
6195
6196/*---------------------------------------------------------------------------
6197 WDI_StartRspCb
6198
6199 DESCRIPTION
6200
6201 This callback is invoked by DAL when it has received a Del BSS response from
6202 the underlying device.
6203
6204 PARAMETERS
6205
6206 IN
6207 wdiDelBSSRsp: response parameters received from HAL
6208 pUserData: user data
6209
6210
6211 RETURN VALUE
6212 The result code associated with performing the operation
6213---------------------------------------------------------------------------*/
6214typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6215 void* pUserData);
6216
6217
6218/*---------------------------------------------------------------------------
6219 WDI_StartRspCb
6220
6221 DESCRIPTION
6222
6223 This callback is invoked by DAL when it has received a Post Assoc response
6224 from the underlying device.
6225
6226 PARAMETERS
6227
6228 IN
6229 wdiRspParams: response parameters received from HAL
6230 pUserData: user data
6231
6232
6233 RETURN VALUE
6234 The result code associated with performing the operation
6235---------------------------------------------------------------------------*/
6236typedef void (*WDI_PostAssocRspCb)(
6237 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6238 void* pUserData);
6239
6240
6241/*---------------------------------------------------------------------------
6242 WDI_StartRspCb
6243
6244 DESCRIPTION
6245
6246 This callback is invoked by DAL when it has received a Del STA response from
6247 the underlying device.
6248
6249 PARAMETERS
6250
6251 IN
6252 wdiDelSTARsp: response parameters received from HAL
6253 pUserData: user data
6254
6255
6256 RETURN VALUE
6257 The result code associated with performing the operation
6258---------------------------------------------------------------------------*/
6259typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6260 void* pUserData);
6261
6262
6263
6264/*---------------------------------------------------------------------------
6265 WDI_StartRspCb
6266
6267 DESCRIPTION
6268
6269 This callback is invoked by DAL when it has received a Set BSS Key response
6270 from the underlying device.
6271
6272 PARAMETERS
6273
6274 IN
6275 wdiStatus: response status received from HAL
6276 pUserData: user data
6277
6278
6279
6280 RETURN VALUE
6281 The result code associated with performing the operation
6282---------------------------------------------------------------------------*/
6283typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6284 void* pUserData);
6285
6286/*---------------------------------------------------------------------------
6287 WDI_StartRspCb
6288
6289 DESCRIPTION
6290
6291 This callback is invoked by DAL when it has received a Remove BSS Key
6292 response from the underlying device.
6293
6294 PARAMETERS
6295
6296 IN
6297 wdiStatus: response status received from HAL
6298 pUserData: user data
6299
6300
6301
6302 RETURN VALUE
6303 The result code associated with performing the operation
6304---------------------------------------------------------------------------*/
6305typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6306 void* pUserData);
6307
6308/*---------------------------------------------------------------------------
6309 WDI_StartRspCb
6310
6311 DESCRIPTION
6312
6313 This callback is invoked by DAL when it has received a Set STA Key response
6314 from the underlying device.
6315
6316 PARAMETERS
6317
6318 IN
6319 wdiStatus: response status received from HAL
6320 pUserData: user data
6321
6322
Jeff Johnson295189b2012-06-20 16:38:30 -07006323 RETURN VALUE
6324 The result code associated with performing the operation
6325---------------------------------------------------------------------------*/
6326typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6327 void* pUserData);
6328
Jeff Johnson295189b2012-06-20 16:38:30 -07006329/*---------------------------------------------------------------------------
6330 WDI_StartRspCb
6331
6332 DESCRIPTION
6333
6334 This callback is invoked by DAL when it has received a Remove STA Key
6335 response from the underlying device.
6336
6337 PARAMETERS
6338
6339 IN
6340 wdiStatus: response status received from HAL
6341 pUserData: user data
6342
Siddharth Bhal171788a2014-09-29 21:02:40 +05306343
Jeff Johnson295189b2012-06-20 16:38:30 -07006344 RETURN VALUE
6345 The result code associated with performing the operation
6346---------------------------------------------------------------------------*/
6347typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6348 void* pUserData);
6349
6350
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006351#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006352/*---------------------------------------------------------------------------
6353 WDI_TsmRspCb
6354
6355 DESCRIPTION
6356
6357 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6358
6359 PARAMETERS
6360
6361 IN
6362 pTSMStats: response status received from HAL
6363 pUserData: user data
6364
6365
6366
6367 RETURN VALUE
6368 The result code associated with performing the operation
6369---------------------------------------------------------------------------*/
6370typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6371 void* pUserData);
6372#endif
6373
6374/*---------------------------------------------------------------------------
6375 WDI_StartRspCb
6376
6377 DESCRIPTION
6378
6379 This callback is invoked by DAL when it has received a Add TS response from
6380 the underlying device.
6381
6382 PARAMETERS
6383
6384 IN
6385 wdiStatus: response status received from HAL
6386 pUserData: user data
6387
6388
6389
6390 RETURN VALUE
6391 The result code associated with performing the operation
6392---------------------------------------------------------------------------*/
6393typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6394 void* pUserData);
6395
6396/*---------------------------------------------------------------------------
6397 WDI_StartRspCb
6398
6399 DESCRIPTION
6400
6401 This callback is invoked by DAL when it has received a Del TS response from
6402 the underlying device.
6403
6404 PARAMETERS
6405
6406 IN
6407 wdiStatus: response status received from HAL
6408 pUserData: user data
6409
6410
6411
6412 RETURN VALUE
6413 The result code associated with performing the operation
6414---------------------------------------------------------------------------*/
6415typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6416 void* pUserData);
6417
6418/*---------------------------------------------------------------------------
6419 WDI_StartRspCb
6420
6421 DESCRIPTION
6422
6423 This callback is invoked by DAL when it has received an Update EDCA Params
6424 response from the underlying device.
6425
6426 PARAMETERS
6427
6428 IN
6429 wdiStatus: response status received from HAL
6430 pUserData: user data
6431
6432
6433
6434 RETURN VALUE
6435 The result code associated with performing the operation
6436---------------------------------------------------------------------------*/
6437typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6438 void* pUserData);
6439
6440/*---------------------------------------------------------------------------
6441 WDI_StartRspCb
6442
6443 DESCRIPTION
6444
6445 This callback is invoked by DAL when it has received a Add BA response from
6446 the underlying device.
6447
6448 PARAMETERS
6449
6450 IN
6451 wdiStatus: response status received from HAL
6452 pUserData: user data
6453
6454
6455
6456 RETURN VALUE
6457 The result code associated with performing the operation
6458---------------------------------------------------------------------------*/
6459typedef void (*WDI_AddBASessionRspCb)(
6460 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6461 void* pUserData);
6462
6463
6464/*---------------------------------------------------------------------------
6465 WDI_StartRspCb
6466
6467 DESCRIPTION
6468
6469 This callback is invoked by DAL when it has received a Del BA response from
6470 the underlying device.
6471
6472 PARAMETERS
6473
6474 IN
6475 wdiStatus: response status received from HAL
6476 pUserData: user data
6477
6478
6479
6480 RETURN VALUE
6481 The result code associated with performing the operation
6482---------------------------------------------------------------------------*/
6483typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6484 void* pUserData);
6485
6486
6487/*---------------------------------------------------------------------------
6488 WDI_StartRspCb
6489
6490 DESCRIPTION
6491
6492 This callback is invoked by DAL when it has received a Switch Ch response
6493 from the underlying device.
6494
6495 PARAMETERS
6496
6497 IN
6498 wdiRspParams: response parameters received from HAL
6499 pUserData: user data
6500
6501
6502 RETURN VALUE
6503 The result code associated with performing the operation
6504---------------------------------------------------------------------------*/
6505typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6506 void* pUserData);
6507
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006508typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6509 void* pUserData);
6510
Jeff Johnson295189b2012-06-20 16:38:30 -07006511
6512/*---------------------------------------------------------------------------
6513 WDI_StartRspCb
6514
6515 DESCRIPTION
6516
6517 This callback is invoked by DAL when it has received a Config STA response
6518 from the underlying device.
6519
6520 PARAMETERS
6521
6522 IN
6523 wdiRspParams: response parameters received from HAL
6524 pUserData: user data
6525
6526
6527 RETURN VALUE
6528 The result code associated with performing the operation
6529---------------------------------------------------------------------------*/
6530typedef void (*WDI_ConfigSTARspCb)(
6531 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6532 void* pUserData);
6533
6534
6535/*---------------------------------------------------------------------------
6536 WDI_StartRspCb
6537
6538 DESCRIPTION
6539
6540 This callback is invoked by DAL when it has received a Set Link State
6541 response from the underlying device.
6542
6543 PARAMETERS
6544
6545 IN
6546 wdiRspParams: response parameters received from HAL
6547 pUserData: user data
6548
6549
6550 RETURN VALUE
6551 The result code associated with performing the operation
6552---------------------------------------------------------------------------*/
6553typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6554 void* pUserData);
6555
6556
6557/*---------------------------------------------------------------------------
6558 WDI_StartRspCb
6559
6560 DESCRIPTION
6561
6562 This callback is invoked by DAL when it has received a Get Stats response
6563 from the underlying device.
6564
6565 PARAMETERS
6566
6567 IN
6568 wdiRspParams: response parameters received from HAL
6569 pUserData: user data
6570
6571
6572 RETURN VALUE
6573 The result code associated with performing the operation
6574---------------------------------------------------------------------------*/
6575typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6576 void* pUserData);
6577
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006578#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006579/*---------------------------------------------------------------------------
6580 WDI_GetRoamRssiRspCb
6581
6582 DESCRIPTION
6583
6584 This callback is invoked by DAL when it has received a Get Roam Rssi response
6585 from the underlying device.
6586
6587 PARAMETERS
6588
6589 IN
6590 wdiRspParams: response parameters received from HAL
6591 pUserData: user data
6592
6593
6594 RETURN VALUE
6595 The result code associated with performing the operation
6596---------------------------------------------------------------------------*/
6597typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6598 void* pUserData);
6599#endif
6600
Jeff Johnson295189b2012-06-20 16:38:30 -07006601
6602/*---------------------------------------------------------------------------
6603 WDI_StartRspCb
6604
6605 DESCRIPTION
6606
6607 This callback is invoked by DAL when it has received a Update Cfg response
6608 from the underlying device.
6609
6610 PARAMETERS
6611
6612 IN
6613 wdiStatus: response status received from HAL
6614 pUserData: user data
6615
6616
6617 RETURN VALUE
6618 The result code associated with performing the operation
6619---------------------------------------------------------------------------*/
6620typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6621 void* pUserData);
6622
6623/*---------------------------------------------------------------------------
6624 WDI_AddBARspCb
6625
6626 DESCRIPTION
6627
6628 This callback is invoked by DAL when it has received a ADD BA response
6629 from the underlying device.
6630
6631 PARAMETERS
6632
6633 IN
6634 wdiStatus: response status received from HAL
6635 pUserData: user data
6636
6637
6638 RETURN VALUE
6639 The result code associated with performing the operation
6640---------------------------------------------------------------------------*/
6641typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6642 void* pUserData);
6643
6644/*---------------------------------------------------------------------------
6645 WDI_TriggerBARspCb
6646
6647 DESCRIPTION
6648
6649 This callback is invoked by DAL when it has received a ADD BA response
6650 from the underlying device.
6651
6652 PARAMETERS
6653
6654 IN
6655 wdiStatus: response status received from HAL
6656 pUserData: user data
6657
6658
6659 RETURN VALUE
6660 The result code associated with performing the operation
6661---------------------------------------------------------------------------*/
6662typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6663 void* pUserData);
6664
6665
6666/*---------------------------------------------------------------------------
6667 WDI_UpdateBeaconParamsRspCb
6668
6669 DESCRIPTION
6670
6671 This callback is invoked by DAL when it has received a Update Beacon Params response from
6672 the underlying device.
6673
6674 PARAMETERS
6675
6676 IN
6677 wdiStatus: response status received from HAL
6678 pUserData: user data
6679
6680
6681
6682 RETURN VALUE
6683 The result code associated with performing the operation
6684---------------------------------------------------------------------------*/
6685typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6686 void* pUserData);
6687
6688/*---------------------------------------------------------------------------
6689 WDI_SendBeaconParamsRspCb
6690
6691 DESCRIPTION
6692
6693 This callback is invoked by DAL when it has received a Send Beacon Params response from
6694 the underlying device.
6695
6696 PARAMETERS
6697
6698 IN
6699 wdiStatus: response status received from HAL
6700 pUserData: user data
6701
6702
6703
6704 RETURN VALUE
6705 The result code associated with performing the operation
6706---------------------------------------------------------------------------*/
6707typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6708 void* pUserData);
6709
6710/*---------------------------------------------------------------------------
6711 WDA_SetMaxTxPowerRspCb
6712
6713 DESCRIPTION
6714
6715 This callback is invoked by DAL when it has received a set max Tx Power response from
6716 the underlying device.
6717
6718 PARAMETERS
6719
6720 IN
6721 wdiStatus: response status received from HAL
6722 pUserData: user data
6723
6724
6725
6726 RETURN VALUE
6727 The result code associated with performing the operation
6728---------------------------------------------------------------------------*/
6729typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6730 void* pUserData);
6731
6732/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006733 WDA_SetMaxTxPowerPerBandRspCb
6734
6735 DESCRIPTION
6736
6737 This callback is invoked by DAL when it has received a
6738 set max Tx Power Per Band response from the underlying device.
6739
6740 PARAMETERS
6741
6742 IN
6743 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6744 pUserData: user data
6745
6746 RETURN VALUE
6747 The result code associated with performing the operation
6748---------------------------------------------------------------------------*/
6749typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6750 *wdiSetMaxTxPowerPerBandRsp,
6751 void* pUserData);
6752
6753/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006754 WDA_SetTxPowerRspCb
6755
6756 DESCRIPTION
6757
6758 This callback is invoked by DAL when it has received a set max Tx Power response from
6759 the underlying device.
6760
6761 PARAMETERS
6762
6763 IN
6764 wdiStatus: response status received from HAL
6765 pUserData: user data
6766
6767 RETURN VALUE
6768 The result code associated with performing the operation
6769---------------------------------------------------------------------------*/
6770typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6771 void* pUserData);
6772
6773/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006774 WDI_UpdateProbeRspTemplateRspCb
6775
6776 DESCRIPTION
6777
6778 This callback is invoked by DAL when it has received a Probe RSP Template
6779 Update response from the underlying device.
6780
6781 PARAMETERS
6782
6783 IN
6784 wdiStatus: response status received from HAL
6785 pUserData: user data
6786
6787
6788
6789 RETURN VALUE
6790 The result code associated with performing the operation
6791---------------------------------------------------------------------------*/
6792typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6793 void* pUserData);
6794
Jeff Johnson295189b2012-06-20 16:38:30 -07006795/*---------------------------------------------------------------------------
6796 WDI_SetP2PGONOAReqParamsRspCb
6797
6798 DESCRIPTION
6799
6800 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6801 the underlying device.
6802
6803 PARAMETERS
6804
6805 IN
6806 wdiStatus: response status received from HAL
6807 pUserData: user data
6808
6809
6810
6811 RETURN VALUE
6812 The result code associated with performing the operation
6813---------------------------------------------------------------------------*/
6814typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6815 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006816
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306817/*---------------------------------------------------------------------------
6818 WDI_SetTDLSLinkEstablishReqParamsRspCb
6819
6820 DESCRIPTION
6821
6822 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6823 the underlying device.
6824
6825 PARAMETERS
6826
6827 IN
6828 wdiStatus: response status received from HAL
6829 pUserData: user data
6830
6831
6832
6833 RETURN VALUE
6834 The result code associated with performing the operation
6835---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306836typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6837 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306838 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006839
6840/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306841 WDI_SetTDLSChanSwitchReqParamsRspCb
6842
6843 DESCRIPTION
6844
6845 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6846 the underlying device.
6847
6848 PARAMETERS
6849
6850 IN
6851 wdiStatus: response status received from HAL
6852 pUserData: user data
6853
6854
6855
6856 RETURN VALUE
6857 The result code associated with performing the operation
6858---------------------------------------------------------------------------*/
6859typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6860 wdiSetTdlsChanSwitchReqRsp,
6861 void* pUserData);
6862/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006863 WDI_SetPwrSaveCfgCb
6864
6865 DESCRIPTION
6866
6867 This callback is invoked by DAL when it has received a set Power Save CFG
6868 response from the underlying device.
6869
6870 PARAMETERS
6871
6872 IN
6873 wdiStatus: response status received from HAL
6874 pUserData: user data
6875
6876
6877
6878 RETURN VALUE
6879 The result code associated with performing the operation
6880---------------------------------------------------------------------------*/
6881typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6882 void* pUserData);
6883
6884/*---------------------------------------------------------------------------
6885 WDI_SetUapsdAcParamsCb
6886
6887 DESCRIPTION
6888
6889 This callback is invoked by DAL when it has received a set UAPSD params
6890 response from the underlying device.
6891
6892 PARAMETERS
6893
6894 IN
6895 wdiStatus: response status received from HAL
6896 pUserData: user data
6897
6898
6899
6900 RETURN VALUE
6901 The result code associated with performing the operation
6902---------------------------------------------------------------------------*/
6903typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6904 void* pUserData);
6905
6906/*---------------------------------------------------------------------------
6907 WDI_EnterImpsRspCb
6908
6909 DESCRIPTION
6910
6911 This callback is invoked by DAL when it has received a Enter IMPS response
6912 from the underlying device.
6913
6914 PARAMETERS
6915
6916 IN
6917 wdiStatus: response status received from HAL
6918 pUserData: user data
6919
6920
6921
6922 RETURN VALUE
6923 The result code associated with performing the operation
6924---------------------------------------------------------------------------*/
6925typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6926 void* pUserData);
6927
6928/*---------------------------------------------------------------------------
6929 WDI_ExitImpsRspCb
6930
6931 DESCRIPTION
6932
6933 This callback is invoked by DAL when it has received a Exit IMPS response
6934 from the underlying device.
6935
6936 PARAMETERS
6937
6938 IN
6939 wdiStatus: response status received from HAL
6940 pUserData: user data
6941
6942
6943
6944 RETURN VALUE
6945 The result code associated with performing the operation
6946---------------------------------------------------------------------------*/
6947typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6948 void* pUserData);
6949
6950/*---------------------------------------------------------------------------
6951 WDI_EnterBmpsRspCb
6952
6953 DESCRIPTION
6954
6955 This callback is invoked by DAL when it has received a enter BMPS response
6956 from the underlying device.
6957
6958 PARAMETERS
6959
6960 IN
6961 wdiStatus: response status received from HAL
6962 pUserData: user data
6963
6964
6965
6966 RETURN VALUE
6967 The result code associated with performing the operation
6968---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006969typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006970 void* pUserData);
6971
6972/*---------------------------------------------------------------------------
6973 WDI_ExitBmpsRspCb
6974
6975 DESCRIPTION
6976
6977 This callback is invoked by DAL when it has received a exit BMPS response
6978 from the underlying device.
6979
6980 PARAMETERS
6981
6982 IN
6983 wdiStatus: response status received from HAL
6984 pUserData: user data
6985
6986
6987
6988 RETURN VALUE
6989 The result code associated with performing the operation
6990---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006991typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006992 void* pUserData);
6993
6994/*---------------------------------------------------------------------------
6995 WDI_EnterUapsdRspCb
6996
6997 DESCRIPTION
6998
6999 This callback is invoked by DAL when it has received a enter UAPSD response
7000 from the underlying device.
7001
7002 PARAMETERS
7003
7004 IN
7005 wdiStatus: response status received from HAL
7006 pUserData: user data
7007
7008
7009
7010 RETURN VALUE
7011 The result code associated with performing the operation
7012---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007013typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007014 void* pUserData);
7015
7016/*---------------------------------------------------------------------------
7017 WDI_ExitUapsdRspCb
7018
7019 DESCRIPTION
7020
7021 This callback is invoked by DAL when it has received a exit UAPSD response
7022 from the underlying device.
7023
7024 PARAMETERS
7025
7026 IN
7027 wdiStatus: response status received from HAL
7028 pUserData: user data
7029
7030
7031
7032 RETURN VALUE
7033 The result code associated with performing the operation
7034---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007035typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007036 void* pUserData);
7037
7038/*---------------------------------------------------------------------------
7039 WDI_UpdateUapsdParamsCb
7040
7041 DESCRIPTION
7042
7043 This callback is invoked by DAL when it has received a update UAPSD params
7044 response from the underlying device.
7045
7046 PARAMETERS
7047
7048 IN
7049 wdiStatus: response status received from HAL
7050 pUserData: user data
7051
7052
7053
7054 RETURN VALUE
7055 The result code associated with performing the operation
7056---------------------------------------------------------------------------*/
7057typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7058 void* pUserData);
7059
7060/*---------------------------------------------------------------------------
7061 WDI_ConfigureRxpFilterCb
7062
7063 DESCRIPTION
7064
7065 This callback is invoked by DAL when it has received a config RXP filter
7066 response from the underlying device.
7067
7068 PARAMETERS
7069
7070 IN
7071 wdiStatus: response status received from HAL
7072 pUserData: user data
7073
7074
7075
7076 RETURN VALUE
7077 The result code associated with performing the operation
7078---------------------------------------------------------------------------*/
7079typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7080 void* pUserData);
7081
7082/*---------------------------------------------------------------------------
7083 WDI_SetBeaconFilterCb
7084
7085 DESCRIPTION
7086
7087 This callback is invoked by DAL when it has received a set beacon filter
7088 response from the underlying device.
7089
7090 PARAMETERS
7091
7092 IN
7093 wdiStatus: response status received from HAL
7094 pUserData: user data
7095
7096
7097
7098 RETURN VALUE
7099 The result code associated with performing the operation
7100---------------------------------------------------------------------------*/
7101typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7102 void* pUserData);
7103
7104/*---------------------------------------------------------------------------
7105 WDI_RemBeaconFilterCb
7106
7107 DESCRIPTION
7108
7109 This callback is invoked by DAL when it has received a remove beacon filter
7110 response from the underlying device.
7111
7112 PARAMETERS
7113
7114 IN
7115 wdiStatus: response status received from HAL
7116 pUserData: user data
7117
7118
7119
7120 RETURN VALUE
7121 The result code associated with performing the operation
7122---------------------------------------------------------------------------*/
7123typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7124 void* pUserData);
7125
7126/*---------------------------------------------------------------------------
7127 WDI_SetRSSIThresholdsCb
7128
7129 DESCRIPTION
7130
7131 This callback is invoked by DAL when it has received a set RSSI thresholds
7132 response from the underlying device.
7133
7134 PARAMETERS
7135
7136 IN
7137 wdiStatus: response status received from HAL
7138 pUserData: user data
7139
7140
7141
7142 RETURN VALUE
7143 The result code associated with performing the operation
7144---------------------------------------------------------------------------*/
7145typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7146 void* pUserData);
7147
7148/*---------------------------------------------------------------------------
7149 WDI_HostOffloadCb
7150
7151 DESCRIPTION
7152
7153 This callback is invoked by DAL when it has received a host offload
7154 response from the underlying device.
7155
7156 PARAMETERS
7157
7158 IN
7159 wdiStatus: response status received from HAL
7160 pUserData: user data
7161
7162
7163
7164 RETURN VALUE
7165 The result code associated with performing the operation
7166---------------------------------------------------------------------------*/
7167typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7168 void* pUserData);
7169
7170/*---------------------------------------------------------------------------
7171 WDI_KeepAliveCb
7172
7173 DESCRIPTION
7174
7175 This callback is invoked by DAL when it has received a Keep Alive
7176 response from the underlying device.
7177
7178 PARAMETERS
7179
7180 IN
7181 wdiStatus: response status received from HAL
7182 pUserData: user data
7183
7184
7185
7186 RETURN VALUE
7187 The result code associated with performing the operation
7188---------------------------------------------------------------------------*/
7189typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7190 void* pUserData);
7191
7192/*---------------------------------------------------------------------------
7193 WDI_WowlAddBcPtrnCb
7194
7195 DESCRIPTION
7196
7197 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7198 response from the underlying device.
7199
7200 PARAMETERS
7201
7202 IN
7203 wdiStatus: response status received from HAL
7204 pUserData: user data
7205
7206
7207
7208 RETURN VALUE
7209 The result code associated with performing the operation
7210---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007211typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007212 void* pUserData);
7213
7214/*---------------------------------------------------------------------------
7215 WDI_WowlDelBcPtrnCb
7216
7217 DESCRIPTION
7218
7219 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7220 response from the underlying device.
7221
7222 PARAMETERS
7223
7224 IN
7225 wdiStatus: response status received from HAL
7226 pUserData: user data
7227
7228
7229
7230 RETURN VALUE
7231 The result code associated with performing the operation
7232---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007233typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007234 void* pUserData);
7235
7236/*---------------------------------------------------------------------------
7237 WDI_WowlEnterReqCb
7238
7239 DESCRIPTION
7240
7241 This callback is invoked by DAL when it has received a Wowl enter
7242 response from the underlying device.
7243
7244 PARAMETERS
7245
7246 IN
7247 wdiStatus: response status received from HAL
7248 pUserData: user data
7249
7250
7251
7252 RETURN VALUE
7253 The result code associated with performing the operation
7254---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007255typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7256 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007257
7258/*---------------------------------------------------------------------------
7259 WDI_WowlExitReqCb
7260
7261 DESCRIPTION
7262
7263 This callback is invoked by DAL when it has received a Wowl exit
7264 response from the underlying device.
7265
7266 PARAMETERS
7267
7268 IN
7269 wdiStatus: response status received from HAL
7270 pUserData: user data
7271
7272
7273
7274 RETURN VALUE
7275 The result code associated with performing the operation
7276---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007277typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007278 void* pUserData);
7279
7280/*---------------------------------------------------------------------------
7281 WDI_ConfigureAppsCpuWakeupStateCb
7282
7283 DESCRIPTION
7284
7285 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7286 State response from the underlying device.
7287
7288 PARAMETERS
7289
7290 IN
7291 wdiStatus: response status received from HAL
7292 pUserData: user data
7293
7294
7295
7296 RETURN VALUE
7297 The result code associated with performing the operation
7298---------------------------------------------------------------------------*/
7299typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7300 void* pUserData);
7301/*---------------------------------------------------------------------------
7302 WDI_NvDownloadRspCb
7303
7304 DESCRIPTION
7305
7306 This callback is invoked by DAL when it has received a NV Download response
7307 from the underlying device.
7308
7309 PARAMETERS
7310
7311 IN
7312 wdiStatus:response status received from HAL
7313 pUserData:user data
7314
7315 RETURN VALUE
7316 The result code associated with performing the operation
7317---------------------------------------------------------------------------*/
7318typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7319 void* pUserData);
7320/*---------------------------------------------------------------------------
7321 WDI_FlushAcRspCb
7322
7323 DESCRIPTION
7324
7325 This callback is invoked by DAL when it has received a Flush AC response from
7326 the underlying device.
7327
7328 PARAMETERS
7329
7330 IN
7331 wdiStatus: response status received from HAL
7332 pUserData: user data
7333
7334
7335
7336 RETURN VALUE
7337 The result code associated with performing the operation
7338---------------------------------------------------------------------------*/
7339typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7340 void* pUserData);
7341
7342/*---------------------------------------------------------------------------
7343 WDI_BtAmpEventRspCb
7344
7345 DESCRIPTION
7346
7347 This callback is invoked by DAL when it has received a Bt AMP event response
7348 from the underlying device.
7349
7350 PARAMETERS
7351
7352 IN
7353 wdiStatus: response status received from HAL
7354 pUserData: user data
7355
7356
7357
7358 RETURN VALUE
7359 The result code associated with performing the operation
7360---------------------------------------------------------------------------*/
7361typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7362 void* pUserData);
7363
Jeff Johnsone7245742012-09-05 17:12:55 -07007364#ifdef FEATURE_OEM_DATA_SUPPORT
7365/*---------------------------------------------------------------------------
7366 WDI_oemDataRspCb
7367
7368 DESCRIPTION
7369
7370 This callback is invoked by DAL when it has received a Start oem data response from
7371 the underlying device.
7372
7373 PARAMETERS
7374
7375 IN
7376 wdiStatus: response status received from HAL
7377 pUserData: user data
7378
7379
7380
7381 RETURN VALUE
7382 The result code associated with performing the operation
7383---------------------------------------------------------------------------*/
7384typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7385 void* pUserData);
7386
7387#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007388
7389/*---------------------------------------------------------------------------
7390 WDI_HostResumeEventRspCb
7391
7392 DESCRIPTION
7393
7394 This callback is invoked by DAL when it has received a Bt AMP event response
7395 from the underlying device.
7396
7397 PARAMETERS
7398
7399 IN
7400 wdiStatus: response status received from HAL
7401 pUserData: user data
7402
7403
7404
7405 RETURN VALUE
7406 The result code associated with performing the operation
7407---------------------------------------------------------------------------*/
7408typedef void (*WDI_HostResumeEventRspCb)(
7409 WDI_SuspendResumeRspParamsType *resumeRspParams,
7410 void* pUserData);
7411
7412
7413#ifdef WLAN_FEATURE_VOWIFI_11R
7414/*---------------------------------------------------------------------------
7415 WDI_AggrAddTsRspCb
7416
7417 DESCRIPTION
7418
7419 This callback is invoked by DAL when it has received a Aggregated Add TS
7420 response from the underlying device.
7421
7422 PARAMETERS
7423
7424 IN
7425 wdiStatus: response status received from HAL
7426 pUserData: user data
7427
7428
7429
7430 RETURN VALUE
7431 The result code associated with performing the operation
7432---------------------------------------------------------------------------*/
7433typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7434 void* pUserData);
7435#endif /* WLAN_FEATURE_VOWIFI_11R */
7436
Jeff Johnson295189b2012-06-20 16:38:30 -07007437/*---------------------------------------------------------------------------
7438 WDI_FTMCommandRspCb
7439
7440 DESCRIPTION
7441
7442 FTM Command response CB
7443
7444 PARAMETERS
7445
7446 IN
7447 ftmCMDRspdata: FTM response data from HAL
7448 pUserData: user data
7449
7450
7451 RETURN VALUE
7452 NONE
7453---------------------------------------------------------------------------*/
7454typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7455 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007456
7457/*---------------------------------------------------------------------------
7458 WDI_AddSTASelfParamsRspCb
7459
7460 DESCRIPTION
7461
7462 This callback is invoked by DAL when it has received a Add Sta Self Params
7463 response from the underlying device.
7464
7465 PARAMETERS
7466
7467 IN
7468 wdiAddSelfSTARsp: response status received from HAL
7469 pUserData: user data
7470
7471
7472
7473 RETURN VALUE
7474 The result code associated with performing the operation
7475---------------------------------------------------------------------------*/
7476typedef void (*WDI_AddSTASelfParamsRspCb)(
7477 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7478 void* pUserData);
7479
7480
7481/*---------------------------------------------------------------------------
7482 WDI_DelSTASelfRspCb
7483
7484 DESCRIPTION
7485
7486 This callback is invoked by DAL when it has received a host offload
7487 response from the underlying device.
7488
7489 PARAMETERS
7490
7491 IN
7492 wdiStatus: response status received from HAL
7493 pUserData: user data
7494
7495
7496
7497 RETURN VALUE
7498 The result code associated with performing the operation
7499---------------------------------------------------------------------------*/
7500typedef void (*WDI_DelSTASelfRspCb)
7501(
7502WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7503void* pUserData
7504);
7505
7506#ifdef FEATURE_WLAN_SCAN_PNO
7507/*---------------------------------------------------------------------------
7508 WDI_PNOScanCb
7509
7510 DESCRIPTION
7511
7512 This callback is invoked by DAL when it has received a Set PNO
7513 response from the underlying device.
7514
7515 PARAMETERS
7516
7517 IN
7518 wdiStatus: response status received from HAL
7519 pUserData: user data
7520
7521
7522
7523 RETURN VALUE
7524 The result code associated with performing the operation
7525---------------------------------------------------------------------------*/
7526typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7527 void* pUserData);
7528
7529/*---------------------------------------------------------------------------
7530 WDI_PNOScanCb
7531
7532 DESCRIPTION
7533
7534 This callback is invoked by DAL when it has received a Set PNO
7535 response from the underlying device.
7536
7537 PARAMETERS
7538
7539 IN
7540 wdiStatus: response status received from HAL
7541 pUserData: user data
7542
7543
7544
7545 RETURN VALUE
7546 The result code associated with performing the operation
7547---------------------------------------------------------------------------*/
7548typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7549 void* pUserData);
7550
7551/*---------------------------------------------------------------------------
7552 WDI_UpdateScanParamsCb
7553
7554 DESCRIPTION
7555
7556 This callback is invoked by DAL when it has received a Update Scan Params
7557 response from the underlying device.
7558
7559 PARAMETERS
7560
7561 IN
7562 wdiStatus: response status received from HAL
7563 pUserData: user data
7564
7565
7566
7567 RETURN VALUE
7568 The result code associated with performing the operation
7569---------------------------------------------------------------------------*/
7570typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7571 void* pUserData);
7572#endif // FEATURE_WLAN_SCAN_PNO
7573
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007574typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7575 void* pUserData);
7576
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007577#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7578/*---------------------------------------------------------------------------
7579 WDI_RoamOffloadScanCb
7580
7581 DESCRIPTION
7582
7583 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7584 response from the underlying device.
7585
7586 PARAMETERS
7587
7588 IN
7589 wdiStatus: response status received from HAL
7590 pUserData: user data
7591
7592
7593
7594 RETURN VALUE
7595 The result code associated with performing the operation
7596---------------------------------------------------------------------------*/
7597typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7598 void* pUserData);
7599
7600#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007601/*---------------------------------------------------------------------------
7602 WDI_SetTxPerTrackingRspCb
7603
7604 DESCRIPTION
7605
7606 This callback is invoked by DAL when it has received a Tx PER Tracking
7607 response from the underlying device.
7608
7609 PARAMETERS
7610
7611 IN
7612 wdiStatus: response status received from HAL
7613 pUserData: user data
7614
7615
7616
7617 RETURN VALUE
7618 The result code associated with performing the operation
7619---------------------------------------------------------------------------*/
7620typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7621 void* pUserData);
7622
7623#ifdef WLAN_FEATURE_PACKET_FILTERING
7624/*---------------------------------------------------------------------------
7625 WDI_8023MulticastListCb
7626
7627 DESCRIPTION
7628
7629 This callback is invoked by DAL when it has received a 8023 Multicast List
7630 response from the underlying device.
7631
7632 PARAMETERS
7633
7634 IN
7635 wdiStatus: response status received from HAL
7636 pUserData: user data
7637
7638
7639
7640 RETURN VALUE
7641 The result code associated with performing the operation
7642---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007643typedef void (*WDI_8023MulticastListCb)(
7644 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7645 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007646
7647/*---------------------------------------------------------------------------
7648 WDI_ReceiveFilterSetFilterCb
7649
7650 DESCRIPTION
7651
7652 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7653 response from the underlying device.
7654
7655 PARAMETERS
7656
7657 IN
7658 wdiStatus: response status received from HAL
7659 pUserData: user data
7660
7661
7662
7663 RETURN VALUE
7664 The result code associated with performing the operation
7665---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007666typedef void (*WDI_ReceiveFilterSetFilterCb)(
7667 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7668 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007669
7670/*---------------------------------------------------------------------------
7671 WDI_FilterMatchCountCb
7672
7673 DESCRIPTION
7674
7675 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7676 response from the underlying device.
7677
7678 PARAMETERS
7679
7680 IN
7681 wdiStatus: response status received from HAL
7682 pUserData: user data
7683
7684
7685
7686 RETURN VALUE
7687 The result code associated with performing the operation
7688---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007689typedef void (*WDI_FilterMatchCountCb)(
7690 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7691 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007692
7693/*---------------------------------------------------------------------------
7694 WDI_ReceiveFilterClearFilterCb
7695
7696 DESCRIPTION
7697
7698 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7699 response from the underlying device.
7700
7701 PARAMETERS
7702
7703 IN
7704 wdiStatus: response status received from HAL
7705 pUserData: user data
7706
7707
7708
7709 RETURN VALUE
7710 The result code associated with performing the operation
7711---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007712typedef void (*WDI_ReceiveFilterClearFilterCb)(
7713 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7714 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007715#endif // WLAN_FEATURE_PACKET_FILTERING
7716
7717/*---------------------------------------------------------------------------
7718 WDI_HALDumpCmdRspCb
7719
7720 DESCRIPTION
7721
7722 This callback is invoked by DAL when it has received a HAL DUMP Command
7723response from
7724 the HAL layer.
7725
7726 PARAMETERS
7727
7728 IN
7729 wdiHalDumpCmdRsp: response status received from HAL
7730 pUserData: user data
7731
7732
7733
7734 RETURN VALUE
7735 The result code associated with performing the operation
7736---------------------------------------------------------------------------*/
7737typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7738 void* pUserData);
7739
7740/*---------------------------------------------------------------------------
7741 WDI_SetPowerParamsCb
7742
7743 DESCRIPTION
7744
7745 This callback is invoked by DAL when it has received a Set Power Param
7746 response from the underlying device.
7747
7748 PARAMETERS
7749
7750 IN
7751 wdiStatus: response status received from HAL
7752 pUserData: user data
7753
7754
7755
7756 RETURN VALUE
7757 The result code associated with performing the operation
7758---------------------------------------------------------------------------*/
7759typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7760 void* pUserData);
7761
7762#ifdef WLAN_FEATURE_GTK_OFFLOAD
7763/*---------------------------------------------------------------------------
7764 WDI_GtkOffloadCb
7765
7766 DESCRIPTION
7767
7768 This callback is invoked by DAL when it has received a GTK offload
7769 response from the underlying device.
7770
7771 PARAMETERS
7772
7773 IN
7774 wdiStatus: response status received from HAL
7775 pUserData: user data
7776
7777
7778
7779 RETURN VALUE
7780 The result code associated with performing the operation
7781---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007782typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007783 void* pUserData);
7784
7785/*---------------------------------------------------------------------------
7786 WDI_GtkOffloadGetInfoCb
7787
7788 DESCRIPTION
7789
7790 This callback is invoked by DAL when it has received a GTK offload
7791 information response from the underlying device.
7792
7793 PARAMETERS
7794
7795 IN
7796 wdiStatus: response status received from HAL
7797 pUserData: user data
7798
7799
7800
7801 RETURN VALUE
7802 The result code associated with performing the operation
7803---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007804typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007805 void* pUserData);
7806#endif // WLAN_FEATURE_GTK_OFFLOAD
7807
7808/*---------------------------------------------------------------------------
7809 WDI_SetTmLevelCb
7810
7811 DESCRIPTION
7812
7813 This callback is invoked by DAL when it has received a Set New TM Level
7814 done response from the underlying device.
7815
7816 PARAMETERS
7817
7818 IN
7819 wdiStatus: response status received from HAL
7820 pUserData: user data
7821
7822
7823
7824 RETURN VALUE
7825 The result code associated with performing the operation
7826---------------------------------------------------------------------------*/
7827typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7828 void* pUserData);
7829
7830/*---------------------------------------------------------------------------
7831 WDI_featureCapsExchangeCb
7832
7833 DESCRIPTION
7834
7835 This callback is invoked by DAL when it has received a HAL Feature Capbility
7836 Exchange Response the HAL layer. This callback is put to mantain code
7837 similarity and is not being used right now.
7838
7839 PARAMETERS
7840
7841 IN
7842 wdiFeatCapRspParams: response parameters received from HAL
7843 pUserData: user data
7844
7845 RETURN VALUE
7846 The result code associated with performing the operation
7847---------------------------------------------------------------------------*/
7848typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7849 void* pUserData);
7850
Mohit Khanna4a70d262012-09-11 16:30:12 -07007851#ifdef WLAN_FEATURE_11AC
7852typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7853 void* pUserData);
7854#endif
7855
Leo Chang9056f462013-08-01 19:21:11 -07007856#ifdef FEATURE_WLAN_LPHB
7857typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7858 void* pUserData);
7859#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007860
Rajeev79dbe4c2013-10-05 11:03:42 +05307861#ifdef FEATURE_WLAN_BATCH_SCAN
7862/*---------------------------------------------------------------------------
7863 WDI_SetBatchScanCb
7864
7865 DESCRIPTION
7866
7867 This callback is invoked by DAL when it has received a get batch scan
7868 response from the underlying device.
7869
7870 PARAMETERS
7871
7872 IN
7873 wdiStatus: response status received from HAL
7874 pUserData: user data
7875
7876
7877
7878 RETURN VALUE
7879 The result code associated with performing the operation
7880---------------------------------------------------------------------------*/
7881typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7882
7883#endif
7884
c_hpothu92367912014-05-01 15:18:17 +05307885typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7886 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307887
Dino Mycle41bdc942014-06-10 11:30:24 +05307888#ifdef WLAN_FEATURE_EXTSCAN
7889typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7890 void *pUserData);
7891typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7892 void *pUserData);
7893typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7894 void *pUserData);
7895typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7896 void *pUserData);
7897typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7898 void *pUserData);
7899typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7900 void *pUserData);
7901typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7902 void *pUserData);
7903typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7904 void *pUserData);
7905#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307906
7907#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7908typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7909 void *pUserData);
7910typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7911 void *pUserData);
7912typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7913 void *pUserData);
7914#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05307915
7916typedef void (*WDI_SetSpoofMacAddrRspCb)(
7917 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307918
Abhishek Singh85b74712014-10-08 11:38:19 +05307919typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
7920 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307921
7922typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007923/*========================================================================
7924 * Function Declarations and Documentation
7925 ==========================================================================*/
7926
7927/*========================================================================
7928
7929 INITIALIZATION APIs
7930
7931==========================================================================*/
7932
7933/**
7934 @brief WDI_Init is used to initialize the DAL.
7935
7936 DAL will allocate all the resources it needs. It will open PAL, it will also
7937 open both the data and the control transport which in their turn will open
7938 DXE/SMD or any other drivers that they need.
7939
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307940 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007941 ppWDIGlobalCtx: output pointer of Global Context
7942 pWdiDevCapability: output pointer of device capability
7943
7944 @return Result of the function call
7945*/
7946WDI_Status
7947WDI_Init
7948(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307949 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007950 void** ppWDIGlobalCtx,
7951 WDI_DeviceCapabilityType* pWdiDevCapability,
7952 unsigned int driverType
7953);
7954
7955/**
7956 @brief WDI_Start will be called when the upper MAC is ready to
7957 commence operation with the WLAN Device. Upon the call
7958 of this API the WLAN DAL will pack and send a HAL Start
7959 message to the lower RIVA sub-system if the SMD channel
7960 has been fully opened and the RIVA subsystem is up.
7961
7962 If the RIVA sub-system is not yet up and running DAL
7963 will queue the request for Open and will wait for the
7964 SMD notification before attempting to send down the
7965 message to HAL.
7966
7967 WDI_Init must have been called.
7968
7969 @param wdiStartParams: the start parameters as specified by
7970 the Device Interface
7971
7972 wdiStartRspCb: callback for passing back the response of
7973 the start operation received from the device
7974
7975 pUserData: user data will be passed back with the
7976 callback
7977
7978 @see WDI_Start
7979 @return Result of the function call
7980*/
7981WDI_Status
7982WDI_Start
7983(
7984 WDI_StartReqParamsType* pwdiStartParams,
7985 WDI_StartRspCb wdiStartRspCb,
7986 void* pUserData
7987);
7988
7989
7990/**
7991 @brief WDI_Stop will be called when the upper MAC is ready to
7992 stop any operation with the WLAN Device. Upon the call
7993 of this API the WLAN DAL will pack and send a HAL Stop
7994 message to the lower RIVA sub-system if the DAL Core is
7995 in started state.
7996
7997 In state BUSY this request will be queued.
7998
7999 Request will not be accepted in any other state.
8000
8001 WDI_Start must have been called.
8002
8003 @param wdiStopParams: the stop parameters as specified by
8004 the Device Interface
8005
8006 wdiStopRspCb: callback for passing back the response of
8007 the stop operation received from the device
8008
8009 pUserData: user data will be passed back with the
8010 callback
8011
8012 @see WDI_Start
8013 @return Result of the function call
8014*/
8015WDI_Status
8016WDI_Stop
8017(
8018 WDI_StopReqParamsType* pwdiStopParams,
8019 WDI_StopRspCb wdiStopRspCb,
8020 void* pUserData
8021);
8022
8023/**
8024 @brief WDI_Close will be called when the upper MAC no longer
8025 needs to interract with DAL. DAL will free its control
8026 block.
8027
8028 It is only accepted in state STOPPED.
8029
8030 WDI_Stop must have been called.
8031
8032 @param none
8033
8034 @see WDI_Stop
8035 @return Result of the function call
8036*/
8037WDI_Status
8038WDI_Close
8039(
8040 void
8041);
8042
8043
8044/**
8045 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8046 This will do most of the WDI stop & close
8047 operations without doing any handshake with Riva
8048
8049 This will also make sure that the control transport
8050 will NOT be closed.
8051
8052 This request will not be queued.
8053
8054
8055 WDI_Start must have been called.
8056
8057 @param closeTransport: Close control channel if this is set
8058
8059 @return Result of the function call
8060*/
8061WDI_Status
8062WDI_Shutdown
8063(
8064 wpt_boolean closeTransport
8065);
8066
8067/*========================================================================
8068
8069 SCAN APIs
8070
8071==========================================================================*/
8072
8073/**
8074 @brief WDI_InitScanReq will be called when the upper MAC wants
8075 the WLAN Device to get ready for a scan procedure. Upon
8076 the call of this API the WLAN DAL will pack and send a
8077 HAL Init Scan request message to the lower RIVA
8078 sub-system if DAL is in state STARTED.
8079
8080 In state BUSY this request will be queued. Request won't
8081 be allowed in any other state.
8082
8083 WDI_Start must have been called.
8084
8085 @param wdiInitScanParams: the init scan parameters as specified
8086 by the Device Interface
8087
8088 wdiInitScanRspCb: callback for passing back the response
8089 of the init scan operation received from the device
8090
8091 pUserData: user data will be passed back with the
8092 callback
8093
8094 @see WDI_Start
8095 @return Result of the function call
8096*/
8097WDI_Status
8098WDI_InitScanReq
8099(
8100 WDI_InitScanReqParamsType* pwdiInitScanParams,
8101 WDI_InitScanRspCb wdiInitScanRspCb,
8102 void* pUserData
8103);
8104
8105/**
8106 @brief WDI_StartScanReq will be called when the upper MAC
8107 wishes to change the Scan channel on the WLAN Device.
8108 Upon the call of this API the WLAN DAL will pack and
8109 send a HAL Start Scan request message to the lower RIVA
8110 sub-system if DAL is in state STARTED.
8111
8112 In state BUSY this request will be queued. Request won't
8113 be allowed in any other state.
8114
8115 WDI_InitScanReq must have been called.
8116
8117 @param wdiStartScanParams: the start scan parameters as
8118 specified by the Device Interface
8119
8120 wdiStartScanRspCb: callback for passing back the
8121 response of the start scan operation received from the
8122 device
8123
8124 pUserData: user data will be passed back with the
8125 callback
8126
8127 @see WDI_InitScanReq
8128 @return Result of the function call
8129*/
8130WDI_Status
8131WDI_StartScanReq
8132(
8133 WDI_StartScanReqParamsType* pwdiStartScanParams,
8134 WDI_StartScanRspCb wdiStartScanRspCb,
8135 void* pUserData
8136);
8137
8138
8139/**
8140 @brief WDI_EndScanReq will be called when the upper MAC is
8141 wants to end scanning for a particular channel that it
8142 had set before by calling Scan Start on the WLAN Device.
8143 Upon the call of this API the WLAN DAL will pack and
8144 send a HAL End Scan request message to the lower RIVA
8145 sub-system if DAL is in state STARTED.
8146
8147 In state BUSY this request will be queued. Request won't
8148 be allowed in any other state.
8149
8150 WDI_StartScanReq must have been called.
8151
8152 @param wdiEndScanParams: the end scan parameters as specified
8153 by the Device Interface
8154
8155 wdiEndScanRspCb: callback for passing back the response
8156 of the end scan operation received from the device
8157
8158 pUserData: user data will be passed back with the
8159 callback
8160
8161 @see WDI_StartScanReq
8162 @return Result of the function call
8163*/
8164WDI_Status
8165WDI_EndScanReq
8166(
8167 WDI_EndScanReqParamsType* pwdiEndScanParams,
8168 WDI_EndScanRspCb wdiEndScanRspCb,
8169 void* pUserData
8170);
8171
8172
8173/**
8174 @brief WDI_FinishScanReq will be called when the upper MAC has
8175 completed the scan process on the WLAN Device. Upon the
8176 call of this API the WLAN DAL will pack and send a HAL
8177 Finish Scan Request request message to the lower RIVA
8178 sub-system if DAL is in state STARTED.
8179
8180 In state BUSY this request will be queued. Request won't
8181 be allowed in any other state.
8182
8183 WDI_InitScanReq must have been called.
8184
8185 @param wdiFinishScanParams: the finish scan parameters as
8186 specified by the Device Interface
8187
8188 wdiFinishScanRspCb: callback for passing back the
8189 response of the finish scan operation received from the
8190 device
8191
8192 pUserData: user data will be passed back with the
8193 callback
8194
8195 @see WDI_InitScanReq
8196 @return Result of the function call
8197*/
8198WDI_Status
8199WDI_FinishScanReq
8200(
8201 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8202 WDI_FinishScanRspCb wdiFinishScanRspCb,
8203 void* pUserData
8204);
8205
8206/*========================================================================
8207
8208 ASSOCIATION APIs
8209
8210==========================================================================*/
8211
8212/**
8213 @brief WDI_JoinReq will be called when the upper MAC is ready
8214 to start an association procedure to a BSS. Upon the
8215 call of this API the WLAN DAL will pack and send a HAL
8216 Join request message to the lower RIVA sub-system if
8217 DAL is in state STARTED.
8218
8219 In state BUSY this request will be queued. Request won't
8220 be allowed in any other state.
8221
8222 WDI_Start must have been called.
8223
8224 @param wdiJoinParams: the join parameters as specified by
8225 the Device Interface
8226
8227 wdiJoinRspCb: callback for passing back the response of
8228 the join operation received from the device
8229
8230 pUserData: user data will be passed back with the
8231 callback
8232
8233 @see WDI_Start
8234 @return Result of the function call
8235*/
8236WDI_Status
8237WDI_JoinReq
8238(
8239 WDI_JoinReqParamsType* pwdiJoinParams,
8240 WDI_JoinRspCb wdiJoinRspCb,
8241 void* pUserData
8242);
8243
8244/**
8245 @brief WDI_ConfigBSSReq will be called when the upper MAC
8246 wishes to configure the newly acquired or in process of
8247 being acquired BSS to the HW . Upon the call of this API
8248 the WLAN DAL will pack and send a HAL Config BSS request
8249 message to the lower RIVA sub-system if DAL is in state
8250 STARTED.
8251
8252 In state BUSY this request will be queued. Request won't
8253 be allowed in any other state.
8254
8255 WDI_JoinReq must have been called.
8256
8257 @param wdiConfigBSSParams: the config BSS parameters as
8258 specified by the Device Interface
8259
8260 wdiConfigBSSRspCb: callback for passing back the
8261 response of the config BSS operation received from the
8262 device
8263
8264 pUserData: user data will be passed back with the
8265 callback
8266
8267 @see WDI_JoinReq
8268 @return Result of the function call
8269*/
8270WDI_Status
8271WDI_ConfigBSSReq
8272(
8273 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8274 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8275 void* pUserData
8276);
8277
8278/**
8279 @brief WDI_DelBSSReq will be called when the upper MAC is
8280 dissasociating from the BSS and wishes to notify HW.
8281 Upon the call of this API the WLAN DAL will pack and
8282 send a HAL Del BSS request message to the lower RIVA
8283 sub-system if DAL is in state STARTED.
8284
8285 In state BUSY this request will be queued. Request won't
8286 be allowed in any other state.
8287
8288 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8289
8290 @param wdiDelBSSParams: the del BSS parameters as specified by
8291 the Device Interface
8292
8293 wdiDelBSSRspCb: callback for passing back the response
8294 of the del bss operation received from the device
8295
8296 pUserData: user data will be passed back with the
8297 callback
8298
8299 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8300 @return Result of the function call
8301*/
8302WDI_Status
8303WDI_DelBSSReq
8304(
8305 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8306 WDI_DelBSSRspCb wdiDelBSSRspCb,
8307 void* pUserData
8308);
8309
8310/**
8311 @brief WDI_PostAssocReq will be called when the upper MAC has
8312 associated to a BSS and wishes to configure HW for
8313 associated state. Upon the call of this API the WLAN DAL
8314 will pack and send a HAL Post Assoc request message to
8315 the lower RIVA sub-system if DAL is in state STARTED.
8316
8317 In state BUSY this request will be queued. Request won't
8318 be allowed in any other state.
8319
8320 WDI_JoinReq must have been called.
8321
8322 @param wdiPostAssocReqParams: the assoc parameters as specified
8323 by the Device Interface
8324
8325 wdiPostAssocRspCb: callback for passing back the
8326 response of the post assoc operation received from the
8327 device
8328
8329 pUserData: user data will be passed back with the
8330 callback
8331
8332 @see WDI_JoinReq
8333 @return Result of the function call
8334*/
8335WDI_Status
8336WDI_PostAssocReq
8337(
8338 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8339 WDI_PostAssocRspCb wdiPostAssocRspCb,
8340 void* pUserData
8341);
8342
8343/**
8344 @brief WDI_DelSTAReq will be called when the upper MAC when an
8345 association with another STA has ended and the station
8346 must be deleted from HW. Upon the call of this API the
8347 WLAN DAL will pack and send a HAL Del STA request
8348 message to the lower RIVA sub-system if DAL is in state
8349 STARTED.
8350
8351 In state BUSY this request will be queued. Request won't
8352 be allowed in any other state.
8353
8354 WDI_PostAssocReq must have been called.
8355
8356 @param wdiDelSTAParams: the Del STA parameters as specified by
8357 the Device Interface
8358
8359 wdiDelSTARspCb: callback for passing back the response
8360 of the del STA operation received from the device
8361
8362 pUserData: user data will be passed back with the
8363 callback
8364
8365 @see WDI_PostAssocReq
8366 @return Result of the function call
8367*/
8368WDI_Status
8369WDI_DelSTAReq
8370(
8371 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8372 WDI_DelSTARspCb wdiDelSTARspCb,
8373 void* pUserData
8374);
8375
8376/*========================================================================
8377
8378 SECURITY APIs
8379
8380==========================================================================*/
8381
8382/**
8383 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8384 install a BSS encryption key on the HW. Upon the call of
8385 this API the WLAN DAL will pack and send a HAL Start
8386 request message to the lower RIVA sub-system if DAL is
8387 in state STARTED.
8388
8389 In state BUSY this request will be queued. Request won't
8390 be allowed in any other state.
8391
8392 WDI_PostAssocReq must have been called.
8393
8394 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8395 specified by the Device Interface
8396
8397 wdiSetBSSKeyRspCb: callback for passing back the
8398 response of the set BSS Key operation received from the
8399 device
8400
8401 pUserData: user data will be passed back with the
8402 callback
8403
8404 @see WDI_PostAssocReq
8405 @return Result of the function call
8406*/
8407WDI_Status
8408WDI_SetBSSKeyReq
8409(
8410 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8411 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8412 void* pUserData
8413);
8414
8415
8416/**
8417 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8418 uninstall a BSS key from HW. Upon the call of this API
8419 the WLAN DAL will pack and send a HAL Remove BSS Key
8420 request message to the lower RIVA sub-system if DAL is
8421 in state STARTED.
8422
8423 In state BUSY this request will be queued. Request won't
8424 be allowed in any other state.
8425
8426 WDI_SetBSSKeyReq must have been called.
8427
8428 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8429 specified by the Device Interface
8430
8431 wdiRemoveBSSKeyRspCb: callback for passing back the
8432 response of the remove BSS key operation received from
8433 the device
8434
8435 pUserData: user data will be passed back with the
8436 callback
8437
8438 @see WDI_SetBSSKeyReq
8439 @return Result of the function call
8440*/
8441WDI_Status
8442WDI_RemoveBSSKeyReq
8443(
8444 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8445 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8446 void* pUserData
8447);
8448
8449
8450/**
8451 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8452 ready to install a STA(ast) encryption key in HW. Upon
8453 the call of this API the WLAN DAL will pack and send a
8454 HAL Set STA Key request message to the lower RIVA
8455 sub-system if DAL is in state STARTED.
8456
8457 In state BUSY this request will be queued. Request won't
8458 be allowed in any other state.
8459
8460 WDI_PostAssocReq must have been called.
8461
8462 @param wdiSetSTAKeyParams: the set STA key parameters as
8463 specified by the Device Interface
8464
8465 wdiSetSTAKeyRspCb: callback for passing back the
8466 response of the set STA key operation received from the
8467 device
8468
8469 pUserData: user data will be passed back with the
8470 callback
8471
8472 @see WDI_PostAssocReq
8473 @return Result of the function call
8474*/
8475WDI_Status
8476WDI_SetSTAKeyReq
8477(
8478 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8479 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8480 void* pUserData
8481);
8482
8483
8484/**
8485 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8486 wants to unistall a previously set STA key in HW. Upon
8487 the call of this API the WLAN DAL will pack and send a
8488 HAL Remove STA Key request message to the lower RIVA
8489 sub-system if DAL is in state STARTED.
8490
8491 In state BUSY this request will be queued. Request won't
8492 be allowed in any other state.
8493
8494 WDI_SetSTAKeyReq must have been called.
8495
8496 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8497 specified by the Device Interface
8498
8499 wdiRemoveSTAKeyRspCb: callback for passing back the
8500 response of the remove STA key operation received from
8501 the device
8502
8503 pUserData: user data will be passed back with the
8504 callback
8505
8506 @see WDI_SetSTAKeyReq
8507 @return Result of the function call
8508*/
8509WDI_Status
8510WDI_RemoveSTAKeyReq
8511(
8512 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8513 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8514 void* pUserData
8515);
8516
8517/**
8518 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8519 wants to install a STA Bcast encryption key on the HW.
8520 Upon the call of this API the WLAN DAL will pack and
8521 send a HAL Start request message to the lower RIVA
8522 sub-system if DAL is in state STARTED.
8523
8524 In state BUSY this request will be queued. Request won't
8525 be allowed in any other state.
8526
8527 WDI_PostAssocReq must have been called.
8528
8529 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8530 specified by the Device Interface
8531
8532 wdiSetSTABcastKeyRspCb: callback for passing back the
8533 response of the set BSS Key operation received from the
8534 device
8535
8536 pUserData: user data will be passed back with the
8537 callback
8538
8539 @see WDI_PostAssocReq
8540 @return Result of the function call
8541*/
8542WDI_Status
8543WDI_SetSTABcastKeyReq
8544(
8545 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8546 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8547 void* pUserData
8548);
8549
8550
8551/**
8552 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8553 MAC to uninstall a STA Bcast key from HW. Upon the call
8554 of this API the WLAN DAL will pack and send a HAL Remove
8555 STA Bcast Key request message to the lower RIVA
8556 sub-system if DAL is in state STARTED.
8557
8558 In state BUSY this request will be queued. Request won't
8559 be allowed in any other state.
8560
8561 WDI_SetSTABcastKeyReq must have been called.
8562
8563 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8564 parameters as specified by the Device
8565 Interface
8566
8567 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8568 response of the remove STA Bcast key operation received
8569 from the device
8570
8571 pUserData: user data will be passed back with the
8572 callback
8573
8574 @see WDI_SetSTABcastKeyReq
8575 @return Result of the function call
8576*/
8577WDI_Status
8578WDI_RemoveSTABcastKeyReq
8579(
8580 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8581 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8582 void* pUserData
8583);
8584
schang86c22c42013-03-13 18:41:24 -07008585
8586/**
8587 @brief WDI_SetTxPowerReq will be called when the upper
8588 MAC wants to set Tx Power to HW.
8589 In state BUSY this request will be queued. Request won't
8590 be allowed in any other state.
8591
8592
8593 @param pwdiSetTxPowerParams: set TS Power parameters
8594 BSSID and target TX Power with dbm included
8595
8596 wdiReqStatusCb: callback for passing back the response
8597
8598 pUserData: user data will be passed back with the
8599 callback
8600
8601 @return Result of the function call
8602*/
8603WDI_Status
8604WDI_SetTxPowerReq
8605(
8606 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8607 WDA_SetTxPowerRspCb wdiReqStatusCb,
8608 void* pUserData
8609);
8610
Jeff Johnson295189b2012-06-20 16:38:30 -07008611/**
8612 @brief WDI_SetMaxTxPowerReq will be called when the upper
8613 MAC wants to set Max Tx Power to HW. Upon the
8614 call of this API the WLAN DAL will pack and send a HAL
8615 Remove STA Bcast Key request message to the lower RIVA
8616 sub-system if DAL is in state STARTED.
8617
8618 In state BUSY this request will be queued. Request won't
8619 be allowed in any other state.
8620
8621 WDI_SetSTABcastKeyReq must have been called.
8622
8623 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8624 parameters as specified by the Device
8625 Interface
8626
8627 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8628 response of the remove STA Bcast key operation received
8629 from the device
8630
8631 pUserData: user data will be passed back with the
8632 callback
8633
8634 @see WDI_SetMaxTxPowerReq
8635 @return Result of the function call
8636*/
8637WDI_Status
8638WDI_SetMaxTxPowerReq
8639(
8640 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8641 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8642 void* pUserData
8643);
8644
Arif Hussaina5ebce02013-08-09 15:09:58 -07008645/**
8646 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8647 MAC wants to set Max Tx Power to HW for specific band. Upon the
8648 call of this API the WLAN DAL will pack and send a HAL
8649 Set Max Tx Power Per Band request message to the lower RIVA
8650 sub-system if DAL is in state STARTED.
8651
8652 In state BUSY this request will be queued. Request won't
8653 be allowed in any other state.
8654
8655
8656 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8657
8658 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8659 when it has received a set max Tx Power Per Band response from
8660 the underlying device.
8661
8662 pUserData: user data will be passed back with the
8663 callback
8664
8665 @see WDI_SetMaxTxPowerPerBandReq
8666 @return Result of the function call
8667*/
8668WDI_Status
8669WDI_SetMaxTxPowerPerBandReq
8670(
8671 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8672 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8673 void* pUserData
8674);
8675
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008676#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008677/**
8678 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8679 Traffic Stream metrics.
8680 In state BUSY this request will be queued. Request won't
8681 be allowed in any other state.
8682
8683 @param wdiAddTsReqParams: the add TS parameters as specified by
8684 the Device Interface
8685
8686 wdiAddTsRspCb: callback for passing back the response of
8687 the add TS operation received from the device
8688
8689 pUserData: user data will be passed back with the
8690 callback
8691
8692 @see WDI_PostAssocReq
8693 @return Result of the function call
8694*/
8695WDI_Status
8696WDI_TSMStatsReq
8697(
8698 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8699 WDI_TsmRspCb wdiTsmStatsRspCb,
8700 void* pUserData
8701);
8702
8703
8704#endif
8705
8706/*========================================================================
8707
8708 QoS and BA APIs
8709
8710==========================================================================*/
8711
8712/**
8713 @brief WDI_AddTSReq will be called when the upper MAC to inform
8714 the device of a successful add TSpec negotiation. HW
8715 needs to receive the TSpec Info from the UMAC in order
8716 to configure properly the QoS data traffic. Upon the
8717 call of this API the WLAN DAL will pack and send a HAL
8718 Add TS request message to the lower RIVA sub-system if
8719 DAL is in state STARTED.
8720
8721 In state BUSY this request will be queued. Request won't
8722 be allowed in any other state.
8723
8724 WDI_PostAssocReq must have been called.
8725
8726 @param wdiAddTsReqParams: the add TS parameters as specified by
8727 the Device Interface
8728
8729 wdiAddTsRspCb: callback for passing back the response of
8730 the add TS operation received from the device
8731
8732 pUserData: user data will be passed back with the
8733 callback
8734
8735 @see WDI_PostAssocReq
8736 @return Result of the function call
8737*/
8738WDI_Status
8739WDI_AddTSReq
8740(
8741 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8742 WDI_AddTsRspCb wdiAddTsRspCb,
8743 void* pUserData
8744);
8745
8746
8747
8748/**
8749 @brief WDI_DelTSReq will be called when the upper MAC has ended
8750 admission on a specific AC. This is to inform HW that
8751 QoS traffic parameters must be rest. Upon the call of
8752 this API the WLAN DAL will pack and send a HAL Del TS
8753 request message to the lower RIVA sub-system if DAL is
8754 in state STARTED.
8755
8756 In state BUSY this request will be queued. Request won't
8757 be allowed in any other state.
8758
8759 WDI_AddTSReq must have been called.
8760
8761 @param wdiDelTsReqParams: the del TS parameters as specified by
8762 the Device Interface
8763
8764 wdiDelTsRspCb: callback for passing back the response of
8765 the del TS operation received from the device
8766
8767 pUserData: user data will be passed back with the
8768 callback
8769
8770 @see WDI_AddTSReq
8771 @return Result of the function call
8772*/
8773WDI_Status
8774WDI_DelTSReq
8775(
8776 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8777 WDI_DelTsRspCb wdiDelTsRspCb,
8778 void* pUserData
8779);
8780
8781
8782
8783/**
8784 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8785 wishes to update the EDCA parameters used by HW for QoS
8786 data traffic. Upon the call of this API the WLAN DAL
8787 will pack and send a HAL Update EDCA Params request
8788 message to the lower RIVA sub-system if DAL is in state
8789 STARTED.
8790
8791 In state BUSY this request will be queued. Request won't
8792 be allowed in any other state.
8793
8794 WDI_PostAssocReq must have been called.
8795
8796 @param wdiUpdateEDCAParams: the start parameters as specified
8797 by the Device Interface
8798
8799 wdiUpdateEDCAParamsRspCb: callback for passing back the
8800 response of the start operation received from the device
8801
8802 pUserData: user data will be passed back with the
8803 callback
8804
8805 @see WDI_PostAssocReq
8806 @return Result of the function call
8807*/
8808WDI_Status
8809WDI_UpdateEDCAParams
8810(
8811 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8812 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8813 void* pUserData
8814);
8815
8816
8817
8818/**
8819 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8820 successfully a BA session and needs to notify the HW for
8821 the appropriate settings to take place. Upon the call of
8822 this API the WLAN DAL will pack and send a HAL Add BA
8823 request message to the lower RIVA sub-system if DAL is
8824 in state STARTED.
8825
8826 In state BUSY this request will be queued. Request won't
8827 be allowed in any other state.
8828
8829 WDI_PostAssocReq must have been called.
8830
8831 @param wdiAddBAReqParams: the add BA parameters as specified by
8832 the Device Interface
8833
8834 wdiAddBARspCb: callback for passing back the response of
8835 the add BA operation received from the device
8836
8837 pUserData: user data will be passed back with the
8838 callback
8839
8840 @see WDI_PostAssocReq
8841 @return Result of the function call
8842*/
8843WDI_Status
8844WDI_AddBASessionReq
8845(
8846 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8847 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8848 void* pUserData
8849);
8850
8851
8852/**
8853 @brief WDI_DelBAReq will be called when the upper MAC wants to
8854 inform HW that it has deleted a previously created BA
8855 session. Upon the call of this API the WLAN DAL will
8856 pack and send a HAL Del BA request message to the lower
8857 RIVA sub-system if DAL is in state STARTED.
8858
8859 In state BUSY this request will be queued. Request won't
8860 be allowed in any other state.
8861
8862 WDI_AddBAReq must have been called.
8863
8864 @param wdiDelBAReqParams: the del BA parameters as specified by
8865 the Device Interface
8866
8867 wdiDelBARspCb: callback for passing back the response of
8868 the del BA operation received from the device
8869
8870 pUserData: user data will be passed back with the
8871 callback
8872
8873 @see WDI_AddBAReq
8874 @return Result of the function call
8875*/
8876WDI_Status
8877WDI_DelBAReq
8878(
8879 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8880 WDI_DelBARspCb wdiDelBARspCb,
8881 void* pUserData
8882);
8883
8884/**
8885 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8886 inform HW that there is a change in the beacon parameters
8887 Upon the call of this API the WLAN DAL will
8888 pack and send a UpdateBeacon Params message to the lower
8889 RIVA sub-system if DAL is in state STARTED.
8890
8891 In state BUSY this request will be queued. Request won't
8892 be allowed in any other state.
8893
8894 WDI_UpdateBeaconParamsReq must have been called.
8895
8896 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8897 the Device Interface
8898
8899 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8900 the Update Beacon Params operation received from the device
8901
8902 pUserData: user data will be passed back with the
8903 callback
8904
8905 @see WDI_AddBAReq
8906 @return Result of the function call
8907*/
8908
8909WDI_Status
8910WDI_UpdateBeaconParamsReq
8911(
8912 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8913 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8914 void* pUserData
8915);
8916
8917
8918/**
8919 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8920 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8921 Upon the call of this API the WLAN DAL will
8922 pack and send the beacon Template message to the lower
8923 RIVA sub-system if DAL is in state STARTED.
8924
8925 In state BUSY this request will be queued. Request won't
8926 be allowed in any other state.
8927
8928 WDI_SendBeaconParamsReq must have been called.
8929
8930 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8931 the Device Interface
8932
8933 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8934 the Send Beacon Params operation received from the device
8935
8936 pUserData: user data will be passed back with the
8937 callback
8938
8939 @see WDI_AddBAReq
8940 @return Result of the function call
8941*/
8942
8943WDI_Status
8944WDI_SendBeaconParamsReq
8945(
8946 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8947 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8948 void* pUserData
8949);
8950
8951
8952/**
8953 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8954 upper MAC wants to update the probe response template to
8955 be transmitted as Soft AP
8956 Upon the call of this API the WLAN DAL will
8957 pack and send the probe rsp template message to the
8958 lower RIVA sub-system if DAL is in state STARTED.
8959
8960 In state BUSY this request will be queued. Request won't
8961 be allowed in any other state.
8962
8963
8964 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8965 specified by the Device Interface
8966
8967 wdiSendBeaconParamsRspCb: callback for passing back the
8968 response of the Send Beacon Params operation received
8969 from the device
8970
8971 pUserData: user data will be passed back with the
8972 callback
8973
8974 @see WDI_AddBAReq
8975 @return Result of the function call
8976*/
8977
8978WDI_Status
8979WDI_UpdateProbeRspTemplateReq
8980(
8981 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8982 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8983 void* pUserData
8984);
8985
Jeff Johnson295189b2012-06-20 16:38:30 -07008986/**
8987 @brief WDI_SetP2PGONOAReq will be called when the
8988 upper MAC wants to send Notice of Absence
8989 Upon the call of this API the WLAN DAL will
8990 pack and send the probe rsp template message to the
8991 lower RIVA sub-system if DAL is in state STARTED.
8992
8993 In state BUSY this request will be queued. Request won't
8994 be allowed in any other state.
8995
8996
8997 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8998 specified by the Device Interface
8999
9000 wdiSendBeaconParamsRspCb: callback for passing back the
9001 response of the Send Beacon Params operation received
9002 from the device
9003
9004 pUserData: user data will be passed back with the
9005 callback
9006
9007 @see WDI_AddBAReq
9008 @return Result of the function call
9009*/
9010WDI_Status
9011WDI_SetP2PGONOAReq
9012(
9013 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9014 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9015 void* pUserData
9016);
Jeff Johnson295189b2012-06-20 16:38:30 -07009017
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309018/**
9019 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9020 upper MAC wants to send TDLS Link Establish Request Parameters
9021 Upon the call of this API the WLAN DAL will
9022 pack and send the TDLS Link Establish Request message to the
9023 lower RIVA sub-system if DAL is in state STARTED.
9024
9025 In state BUSY this request will be queued. Request won't
9026 be allowed in any other state.
9027
9028
9029 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9030 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9031
9032 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9033 response of the TDLS Link Establish request received
9034 from the device
9035
9036 pUserData: user data will be passed back with the
9037 callback
9038
9039 @see
9040 @return Result of the function call
9041*/
9042WDI_Status
9043WDI_SetTDLSLinkEstablishReq
9044(
9045 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9046 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9047 void* pUserData
9048);
Jeff Johnson295189b2012-06-20 16:38:30 -07009049
Atul Mittalc0f739f2014-07-31 13:47:47 +05309050WDI_Status
9051WDI_SetTDLSChanSwitchReq
9052(
9053 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9054 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9055 void* pUserData
9056);
Jeff Johnson295189b2012-06-20 16:38:30 -07009057/*========================================================================
9058
9059 Power Save APIs
9060
9061==========================================================================*/
9062
9063/**
9064 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9065 wants to set the power save related configurations of
9066 the WLAN Device. Upon the call of this API the WLAN DAL
9067 will pack and send a HAL Update CFG request message to
9068 the lower RIVA sub-system if DAL is in state STARTED.
9069
9070 In state BUSY this request will be queued. Request won't
9071 be allowed in any other state.
9072
9073 WDI_Start must have been called.
9074
9075 @param pwdiPowerSaveCfg: the power save cfg parameters as
9076 specified by the Device Interface
9077
9078 wdiSetPwrSaveCfgCb: callback for passing back the
9079 response of the set power save cfg operation received
9080 from the device
9081
9082 pUserData: user data will be passed back with the
9083 callback
9084
9085 @see WDI_Start
9086 @return Result of the function call
9087*/
9088WDI_Status
9089WDI_SetPwrSaveCfgReq
9090(
9091 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9092 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9093 void* pUserData
9094);
9095
9096/**
9097 @brief WDI_EnterImpsReq will be called when the upper MAC to
9098 request the device to get into IMPS power state. Upon
9099 the call of this API the WLAN DAL will send a HAL Enter
9100 IMPS request message to the lower RIVA sub-system if DAL
9101 is in state STARTED.
9102
9103 In state BUSY this request will be queued. Request won't
9104 be allowed in any other state.
9105
9106
9107 @param wdiEnterImpsRspCb: callback for passing back the
9108 response of the Enter IMPS operation received from the
9109 device
9110
9111 pUserData: user data will be passed back with the
9112 callback
9113
9114 @see WDI_Start
9115 @return Result of the function call
9116*/
9117WDI_Status
9118WDI_EnterImpsReq
9119(
Mihir Shetea4306052014-03-25 00:02:54 +05309120 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009121 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9122 void* pUserData
9123);
9124
9125/**
9126 @brief WDI_ExitImpsReq will be called when the upper MAC to
9127 request the device to get out of IMPS power state. Upon
9128 the call of this API the WLAN DAL will send a HAL Exit
9129 IMPS request message to the lower RIVA sub-system if DAL
9130 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
9136
9137 @param wdiExitImpsRspCb: callback for passing back the response
9138 of the Exit IMPS operation received from the device
9139
9140 pUserData: user data will be passed back with the
9141 callback
9142
9143 @see WDI_Start
9144 @return Result of the function call
9145*/
9146WDI_Status
9147WDI_ExitImpsReq
9148(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309149 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009150 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9151 void* pUserData
9152);
9153
9154/**
9155 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9156 request the device to get into BMPS power state. Upon
9157 the call of this API the WLAN DAL will pack and send a
9158 HAL Enter BMPS request message to the lower RIVA
9159 sub-system if DAL is in state STARTED.
9160
9161 In state BUSY this request will be queued. Request won't
9162 be allowed in any other state.
9163
9164 WDI_PostAssocReq must have been called.
9165
9166 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9167 specified by the Device Interface
9168
9169 wdiEnterBmpsRspCb: callback for passing back the
9170 response of the Enter BMPS operation received from the
9171 device
9172
9173 pUserData: user data will be passed back with the
9174 callback
9175
9176 @see WDI_PostAssocReq
9177 @return Result of the function call
9178*/
9179WDI_Status
9180WDI_EnterBmpsReq
9181(
9182 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9183 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9184 void* pUserData
9185);
9186
9187/**
9188 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9189 request the device to get out of BMPS power state. Upon
9190 the call of this API the WLAN DAL will pack and send a
9191 HAL Exit BMPS request message to the lower RIVA
9192 sub-system if DAL 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 WDI_PostAssocReq must have been called.
9198
9199 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9200 specified by the Device Interface
9201
9202 wdiExitBmpsRspCb: callback for passing back the response
9203 of the Exit BMPS operation received from the device
9204
9205 pUserData: user data will be passed back with the
9206 callback
9207
9208 @see WDI_PostAssocReq
9209 @return Result of the function call
9210*/
9211WDI_Status
9212WDI_ExitBmpsReq
9213(
9214 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9215 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9216 void* pUserData
9217);
9218
9219/**
9220 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9221 request the device to get into UAPSD power state. Upon
9222 the call of this API the WLAN DAL will pack and send a
9223 HAL Enter UAPSD request message to the lower RIVA
9224 sub-system if DAL is in state STARTED.
9225
9226 In state BUSY this request will be queued. Request won't
9227 be allowed in any other state.
9228
9229 WDI_PostAssocReq must have been called.
9230 WDI_SetUapsdAcParamsReq must have been called.
9231
9232 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9233 specified by the Device Interface
9234
9235 wdiEnterUapsdRspCb: callback for passing back the
9236 response of the Enter UAPSD operation received from the
9237 device
9238
9239 pUserData: user data will be passed back with the
9240 callback
9241
9242 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9243 @return Result of the function call
9244*/
9245WDI_Status
9246WDI_EnterUapsdReq
9247(
9248 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9249 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9250 void* pUserData
9251);
9252
9253/**
9254 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9255 request the device to get out of UAPSD power state. Upon
9256 the call of this API the WLAN DAL will send a HAL Exit
9257 UAPSD request message to the lower RIVA sub-system if
9258 DAL is in state STARTED.
9259
9260 In state BUSY this request will be queued. Request won't
9261 be allowed in any other state.
9262
9263 WDI_PostAssocReq must have been called.
9264
9265 @param wdiExitUapsdRspCb: callback for passing back the
9266 response of the Exit UAPSD operation received from the
9267 device
9268
9269 pUserData: user data will be passed back with the
9270 callback
9271
9272 @see WDI_PostAssocReq
9273 @return Result of the function call
9274*/
9275WDI_Status
9276WDI_ExitUapsdReq
9277(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009278 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009279 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9280 void* pUserData
9281);
9282
9283/**
9284 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9285 MAC wants to set the UAPSD related configurations
9286 of an associated STA (while acting as an AP) to the WLAN
9287 Device. Upon the call of this API the WLAN DAL will pack
9288 and send a HAL Update UAPSD params request message to
9289 the lower RIVA sub-system if DAL is in state STARTED.
9290
9291 In state BUSY this request will be queued. Request won't
9292 be allowed in any other state.
9293
9294 WDI_ConfigBSSReq must have been called.
9295
9296 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9297 as specified by the Device Interface
9298
9299 wdiUpdateUapsdParamsCb: callback for passing back the
9300 response of the update UAPSD params operation received
9301 from the device
9302
9303 pUserData: user data will be passed back with the
9304 callback
9305
9306 @see WDI_ConfigBSSReq
9307 @return Result of the function call
9308*/
9309WDI_Status
9310WDI_UpdateUapsdParamsReq
9311(
9312 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9313 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9314 void* pUserData
9315);
9316
9317/**
9318 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9319 MAC wants to set the UAPSD related configurations before
9320 requesting for enter UAPSD power state to the WLAN
9321 Device. Upon the call of this API the WLAN DAL will pack
9322 and send a HAL Set UAPSD params request message to
9323 the lower RIVA sub-system if DAL is in state STARTED.
9324
9325 In state BUSY this request will be queued. Request won't
9326 be allowed in any other state.
9327
9328 WDI_PostAssocReq must have been called.
9329
9330 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9331 the Device Interface
9332
9333 wdiSetUapsdAcParamsCb: callback for passing back the
9334 response of the set UAPSD params operation received from
9335 the device
9336
9337 pUserData: user data will be passed back with the
9338 callback
9339
9340 @see WDI_PostAssocReq
9341 @return Result of the function call
9342*/
9343WDI_Status
9344WDI_SetUapsdAcParamsReq
9345(
9346 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9347 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9348 void* pUserData
9349);
9350
9351/**
9352 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9353 MAC wants to set/reset the RXP filters for received pkts
9354 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9355 and send a HAL configure RXP filter request message to
9356 the lower RIVA sub-system.
9357
9358 In state BUSY this request will be queued. Request won't
9359 be allowed in any other state.
9360
9361
9362 @param pwdiConfigureRxpFilterReqParams: the RXP
9363 filter as specified by the Device
9364 Interface
9365
9366 wdiConfigureRxpFilterCb: callback for passing back the
9367 response of the configure RXP filter operation received
9368 from the device
9369
9370 pUserData: user data will be passed back with the
9371 callback
9372
9373 @return Result of the function call
9374*/
9375WDI_Status
9376WDI_ConfigureRxpFilterReq
9377(
9378 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9379 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9380 void* pUserData
9381);
9382
9383/**
9384 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9385 wants to set the beacon filters while in power save.
9386 Upon the call of this API the WLAN DAL will pack and
9387 send a Beacon filter request message to the
9388 lower RIVA sub-system.
9389
9390 In state BUSY this request will be queued. Request won't
9391 be allowed in any other state.
9392
9393
9394 @param pwdiBeaconFilterReqParams: the beacon
9395 filter as specified by the Device
9396 Interface
9397
9398 wdiBeaconFilterCb: callback for passing back the
9399 response of the set beacon filter operation received
9400 from the device
9401
9402 pUserData: user data will be passed back with the
9403 callback
9404
9405 @return Result of the function call
9406*/
9407WDI_Status
9408WDI_SetBeaconFilterReq
9409(
9410 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9411 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9412 void* pUserData
9413);
9414
9415/**
9416 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9417 wants to remove the beacon filter for perticular IE
9418 while in power save. Upon the call of this API the WLAN
9419 DAL will pack and send a remove Beacon filter request
9420 message to the lower RIVA sub-system.
9421
9422 In state BUSY this request will be queued. Request won't
9423 be allowed in any other state.
9424
9425
9426 @param pwdiBeaconFilterReqParams: the beacon
9427 filter as specified by the Device
9428 Interface
9429
9430 wdiBeaconFilterCb: callback for passing back the
9431 response of the remove beacon filter operation received
9432 from the device
9433
9434 pUserData: user data will be passed back with the
9435 callback
9436
9437 @return Result of the function call
9438*/
9439WDI_Status
9440WDI_RemBeaconFilterReq
9441(
9442 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9443 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9444 void* pUserData
9445);
9446
9447/**
9448 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9449 MAC wants to set the RSSI thresholds related
9450 configurations while in power save. Upon the call of
9451 this API the WLAN DAL will pack and send a HAL Set RSSI
9452 thresholds request message to the lower RIVA
9453 sub-system if DAL is in state STARTED.
9454
9455 In state BUSY this request will be queued. Request won't
9456 be allowed in any other state.
9457
9458 WDI_PostAssocReq must have been called.
9459
9460 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9461 the Device Interface
9462
9463 wdiSetUapsdAcParamsCb: callback for passing back the
9464 response of the set UAPSD params operation received from
9465 the device
9466
9467 pUserData: user data will be passed back with the
9468 callback
9469
9470 @see WDI_PostAssocReq
9471 @return Result of the function call
9472*/
9473WDI_Status
9474WDI_SetRSSIThresholdsReq
9475(
9476 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9477 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9478 void* pUserData
9479);
9480
9481/**
9482 @brief WDI_HostOffloadReq will be called when the upper MAC
9483 wants to set the filter to minimize unnecessary host
9484 wakeup due to broadcast traffic while in power save.
9485 Upon the call of this API the WLAN DAL will pack and
9486 send a HAL host offload request message to the
9487 lower RIVA sub-system if DAL is in state STARTED.
9488
9489 In state BUSY this request will be queued. Request won't
9490 be allowed in any other state.
9491
9492 WDI_PostAssocReq must have been called.
9493
9494 @param pwdiHostOffloadParams: the host offload as specified
9495 by the Device Interface
9496
9497 wdiHostOffloadCb: callback for passing back the response
9498 of the host offload operation received from the
9499 device
9500
9501 pUserData: user data will be passed back with the
9502 callback
9503
9504 @see WDI_PostAssocReq
9505 @return Result of the function call
9506*/
9507WDI_Status
9508WDI_HostOffloadReq
9509(
9510 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9511 WDI_HostOffloadCb wdiHostOffloadCb,
9512 void* pUserData
9513);
9514
9515/**
9516 @brief WDI_KeepAliveReq will be called when the upper MAC
9517 wants to set the filter to send NULL or unsolicited ARP responses
9518 and minimize unnecessary host wakeups due to while in power save.
9519 Upon the call of this API the WLAN DAL will pack and
9520 send a HAL Keep Alive request message to the
9521 lower RIVA sub-system if DAL is in state STARTED.
9522
9523 In state BUSY this request will be queued. Request won't
9524 be allowed in any other state.
9525
9526 WDI_PostAssocReq must have been called.
9527
9528 @param pwdiKeepAliveParams: the Keep Alive as specified
9529 by the Device Interface
9530
9531 wdiKeepAliveCb: callback for passing back the response
9532 of the Keep Alive operation received from the
9533 device
9534
9535 pUserData: user data will be passed back with the
9536 callback
9537
9538 @see WDI_PostAssocReq
9539 @return Result of the function call
9540*/
9541WDI_Status
9542WDI_KeepAliveReq
9543(
9544 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9545 WDI_KeepAliveCb wdiKeepAliveCb,
9546 void* pUserData
9547);
9548
9549/**
9550 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9551 wants to set the Wowl Bcast ptrn to minimize unnecessary
9552 host wakeup due to broadcast traffic while in power
9553 save. Upon the call of this API the WLAN DAL will pack
9554 and send a HAL Wowl Bcast ptrn request message to the
9555 lower RIVA sub-system if DAL is in state STARTED.
9556
9557 In state BUSY this request will be queued. Request won't
9558 be allowed in any other state.
9559
9560 WDI_PostAssocReq must have been called.
9561
9562 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9563 specified by the Device Interface
9564
9565 wdiWowlAddBcPtrnCb: callback for passing back the
9566 response of the add Wowl bcast ptrn operation received
9567 from the device
9568
9569 pUserData: user data will be passed back with the
9570 callback
9571
9572 @see WDI_PostAssocReq
9573 @return Result of the function call
9574*/
9575WDI_Status
9576WDI_WowlAddBcPtrnReq
9577(
9578 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9579 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9580 void* pUserData
9581);
9582
9583/**
9584 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9585 wants to clear the Wowl Bcast ptrn. Upon the call of
9586 this API the WLAN DAL will pack and send a HAL delete
9587 Wowl Bcast ptrn request message to the lower RIVA
9588 sub-system if DAL is in state STARTED.
9589
9590 In state BUSY this request will be queued. Request won't
9591 be allowed in any other state.
9592
9593 WDI_WowlAddBcPtrnReq must have been called.
9594
9595 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9596 specified by the Device Interface
9597
9598 wdiWowlDelBcPtrnCb: callback for passing back the
9599 response of the del Wowl bcast ptrn operation received
9600 from the device
9601
9602 pUserData: user data will be passed back with the
9603 callback
9604
9605 @see WDI_WowlAddBcPtrnReq
9606 @return Result of the function call
9607*/
9608WDI_Status
9609WDI_WowlDelBcPtrnReq
9610(
9611 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9612 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9613 void* pUserData
9614);
9615
9616/**
9617 @brief WDI_WowlEnterReq will be called when the upper MAC
9618 wants to enter the Wowl state to minimize unnecessary
9619 host wakeup while in power save. Upon the call of this
9620 API the WLAN DAL will pack and send a HAL Wowl enter
9621 request message to the lower RIVA sub-system if DAL is
9622 in state STARTED.
9623
9624 In state BUSY this request will be queued. Request won't
9625 be allowed in any other state.
9626
9627 WDI_PostAssocReq must have been called.
9628
9629 @param pwdiWowlEnterReqParams: the Wowl enter info as
9630 specified by the Device Interface
9631
9632 wdiWowlEnterReqCb: callback for passing back the
9633 response of the enter Wowl operation received from the
9634 device
9635
9636 pUserData: user data will be passed back with the
9637 callback
9638
9639 @see WDI_PostAssocReq
9640 @return Result of the function call
9641*/
9642WDI_Status
9643WDI_WowlEnterReq
9644(
9645 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9646 WDI_WowlEnterReqCb wdiWowlEnterCb,
9647 void* pUserData
9648);
9649
9650/**
9651 @brief WDI_WowlExitReq will be called when the upper MAC
9652 wants to exit the Wowl state. Upon the call of this API
9653 the WLAN DAL will pack and send a HAL Wowl exit request
9654 message to the lower RIVA sub-system if DAL is in state
9655 STARTED.
9656
9657 In state BUSY this request will be queued. Request won't
9658 be allowed in any other state.
9659
9660 WDI_WowlEnterReq must have been called.
9661
9662 @param pwdiWowlExitReqParams: the Wowl exit info as
9663 specified by the Device Interface
9664
9665 wdiWowlExitReqCb: callback for passing back the response
9666 of the exit Wowl operation received from the device
9667
9668 pUserData: user data will be passed back with the
9669 callback
9670
9671 @see WDI_WowlEnterReq
9672 @return Result of the function call
9673*/
9674WDI_Status
9675WDI_WowlExitReq
9676(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009677 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009678 WDI_WowlExitReqCb wdiWowlExitCb,
9679 void* pUserData
9680);
9681
9682/**
9683 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9684 the upper MAC wants to dynamically adjusts the listen
9685 interval based on the WLAN/MSM activity. Upon the call
9686 of this API the WLAN DAL will pack and send a HAL
9687 configure Apps Cpu Wakeup State request message to the
9688 lower RIVA sub-system.
9689
9690 In state BUSY this request will be queued. Request won't
9691 be allowed in any other state.
9692
9693
9694 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9695 Apps Cpu Wakeup State as specified by the
9696 Device Interface
9697
9698 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9699 back the response of the configure Apps Cpu Wakeup State
9700 operation received from the device
9701
9702 pUserData: user data will be passed back with the
9703 callback
9704
9705 @return Result of the function call
9706*/
9707WDI_Status
9708WDI_ConfigureAppsCpuWakeupStateReq
9709(
9710 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9711 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9712 void* pUserData
9713);
9714/**
9715 @brief WDI_FlushAcReq will be called when the upper MAC wants
9716 to to perform a flush operation on a given AC. Upon the
9717 call of this API the WLAN DAL will pack and send a HAL
9718 Flush AC request message to the lower RIVA sub-system if
9719 DAL is in state STARTED.
9720
9721 In state BUSY this request will be queued. Request won't
9722 be allowed in any other state.
9723
9724
9725 @param pwdiFlushAcReqParams: the Flush AC parameters as
9726 specified by the Device Interface
9727
9728 wdiFlushAcRspCb: callback for passing back the response
9729 of the Flush AC operation received from the device
9730
9731 pUserData: user data will be passed back with the
9732 callback
9733
9734 @return Result of the function call
9735*/
9736WDI_Status
9737WDI_FlushAcReq
9738(
9739 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9740 WDI_FlushAcRspCb wdiFlushAcRspCb,
9741 void* pUserData
9742);
9743
9744/**
9745 @brief WDI_BtAmpEventReq will be called when the upper MAC
9746 wants to notify the lower mac on a BT AMP event. This is
9747 to inform BTC-SLM that some BT AMP event occurred. Upon
9748 the call of this API the WLAN DAL will pack and send a
9749 HAL BT AMP event request message to the lower RIVA
9750 sub-system if DAL is in state STARTED.
9751
9752 In state BUSY this request will be queued. Request won't
9753 be allowed in any other state.
9754
9755
9756 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9757 specified by the Device Interface
9758
9759 wdiBtAmpEventRspCb: callback for passing back the
9760 response of the BT AMP event operation received from the
9761 device
9762
9763 pUserData: user data will be passed back with the
9764 callback
9765
9766 @return Result of the function call
9767*/
9768WDI_Status
9769WDI_BtAmpEventReq
9770(
9771 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9772 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9773 void* pUserData
9774);
9775
Jeff Johnsone7245742012-09-05 17:12:55 -07009776#ifdef FEATURE_OEM_DATA_SUPPORT
9777/**
9778 @brief WDI_Start oem data Req will be called when the upper MAC
9779 wants to notify the lower mac on a oem data Req event.Upon
9780 the call of this API the WLAN DAL will pack and send a
9781 HAL OEM Data Req event request message to the lower RIVA
9782 sub-system if DAL is in state STARTED.
9783
9784 In state BUSY this request will be queued. Request won't
9785 be allowed in any other state.
9786
9787
9788 @param pWdiOemDataReqParams: the oem data req parameters as
9789 specified by the Device Interface
9790
9791 wdiStartOemDataRspCb: callback for passing back the
9792 response of the Oem Data Req received from the
9793 device
9794
9795 pUserData: user data will be passed back with the
9796 callback
9797
9798 @return Result of the function call
9799*/
9800WDI_Status
9801WDI_StartOemDataReq
9802(
9803 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9804 WDI_oemDataRspCb wdiOemDataRspCb,
9805 void* pUserData
9806);
9807#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009808
9809/*========================================================================
9810
9811 CONTROL APIs
9812
9813==========================================================================*/
9814/**
9815 @brief WDI_SwitchChReq will be called when the upper MAC wants
9816 the WLAN HW to change the current channel of operation.
9817 Upon the call of this API the WLAN DAL will pack and
9818 send a HAL Start request message to the lower RIVA
9819 sub-system if DAL is in state STARTED.
9820
9821 In state BUSY this request will be queued. Request won't
9822 be allowed in any other state.
9823
9824 WDI_Start must have been called.
9825
9826 @param wdiSwitchChReqParams: the switch ch parameters as
9827 specified by the Device Interface
9828
9829 wdiSwitchChRspCb: callback for passing back the response
9830 of the switch ch operation received from the device
9831
9832 pUserData: user data will be passed back with the
9833 callback
9834
9835 @see WDI_Start
9836 @return Result of the function call
9837*/
9838WDI_Status
9839WDI_SwitchChReq
9840(
9841 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9842 WDI_SwitchChRspCb wdiSwitchChRspCb,
9843 void* pUserData
9844);
9845
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009846/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009847 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9848 it also send type source for the channel change.
9849 WDI_Start must have been called.
9850
9851 @param wdiSwitchChReqParams: the switch ch parameters as
9852 specified by the Device Interface
9853
9854 wdiSwitchChRspCb: callback for passing back the response
9855 of the switch ch operation received from the device
9856
9857 pUserData: user data will be passed back with the
9858 callback
9859
9860 @see WDI_Start
9861 @return Result of the function call
9862*/
9863
9864WDI_Status
9865WDI_SwitchChReq_V1
9866(
9867 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9868 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9869 void* pUserData
9870);
9871
9872/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009873 @brief WDI_UpdateChannelReq will be called when the upper MAC
9874 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009875 In state BUSY this request will be queued. Request won't
9876 be allowed in any other state.
9877
9878 WDI_UpdateChannelReq must have been called.
9879
9880 @param wdiUpdateChannelReqParams: the updated channel parameters
9881 as specified by the Device Interface
9882
9883 wdiUpdateChannelRspCb: callback for passing back the
9884 response of the update channel operation received from
9885 the device
9886
9887 pUserData: user data will be passed back with the
9888 callback
9889
9890 @return Result of the function call
9891*/
9892WDI_Status
9893WDI_UpdateChannelReq
9894(
9895 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9896 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9897 void* pUserData
9898);
Jeff Johnson295189b2012-06-20 16:38:30 -07009899
9900/**
9901 @brief WDI_ConfigSTAReq will be called when the upper MAC
9902 wishes to add or update a STA in HW. Upon the call of
9903 this API the WLAN DAL will pack and send a HAL Start
9904 message request message to the lower RIVA sub-system if
9905 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 WDI_Start must have been called.
9911
9912 @param wdiConfigSTAReqParams: the config STA parameters as
9913 specified by the Device Interface
9914
9915 wdiConfigSTARspCb: callback for passing back the
9916 response of the config STA operation received from the
9917 device
9918
9919 pUserData: user data will be passed back with the
9920 callback
9921
9922 @see WDI_Start
9923 @return Result of the function call
9924*/
9925WDI_Status
9926WDI_ConfigSTAReq
9927(
9928 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9929 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9930 void* pUserData
9931);
9932
9933/**
9934 @brief WDI_SetLinkStateReq will be called when the upper MAC
9935 wants to change the state of an ongoing link. Upon the
9936 call of this API the WLAN DAL will pack and send a HAL
9937 Start message request message to the lower RIVA
9938 sub-system if DAL is in state STARTED.
9939
9940 In state BUSY this request will be queued. Request won't
9941 be allowed in any other state.
9942
9943 WDI_JoinReq must have been called.
9944
9945 @param wdiSetLinkStateReqParams: the set link state parameters
9946 as specified by the Device Interface
9947
9948 wdiSetLinkStateRspCb: callback for passing back the
9949 response of the set link state operation received from
9950 the device
9951
9952 pUserData: user data will be passed back with the
9953 callback
9954
9955 @see WDI_JoinStartReq
9956 @return Result of the function call
9957*/
9958WDI_Status
9959WDI_SetLinkStateReq
9960(
9961 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9962 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9963 void* pUserData
9964);
9965
9966
9967/**
9968 @brief WDI_GetStatsReq will be called when the upper MAC wants
9969 to get statistics (MIB counters) from the device. Upon
9970 the call of this API the WLAN DAL will pack and send a
9971 HAL Start request message to the lower RIVA sub-system
9972 if DAL is in state STARTED.
9973
9974 In state BUSY this request will be queued. Request won't
9975 be allowed in any other state.
9976
9977 WDI_Start must have been called.
9978
9979 @param wdiGetStatsReqParams: the stats parameters to get as
9980 specified by the Device Interface
9981
9982 wdiGetStatsRspCb: callback for passing back the response
9983 of the get stats operation received from the device
9984
9985 pUserData: user data will be passed back with the
9986 callback
9987
9988 @see WDI_Start
9989 @return Result of the function call
9990*/
9991WDI_Status
9992WDI_GetStatsReq
9993(
9994 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9995 WDI_GetStatsRspCb wdiGetStatsRspCb,
9996 void* pUserData
9997);
9998
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009999#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010000/**
10001 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10002 to get roam rssi from the device. Upon
10003 the call of this API the WLAN DAL will pack and send a
10004 HAL Start request message to the lower RIVA sub-system
10005 if DAL is in state STARTED.
10006
10007 In state BUSY this request will be queued. Request won't
10008 be allowed in any other state.
10009
10010 WDI_Start must have been called.
10011
10012 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10013 specified by the Device Interface
10014
10015 wdiGetRoamRssispCb: callback for passing back the response
10016 of the get stats operation received from the device
10017
10018 pUserData: user data will be passed back with the
10019 callback
10020
10021 @see WDI_Start
10022 @return Result of the function call
10023*/
10024WDI_Status
10025WDI_GetRoamRssiReq
10026(
10027 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10028 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10029 void* pUserData
10030);
10031#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010032
10033/**
10034 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10035 it wishes to change the configuration of the WLAN
10036 Device. Upon the call of this API the WLAN DAL will pack
10037 and send a HAL Update CFG request message to the lower
10038 RIVA sub-system if DAL is in state STARTED.
10039
10040 In state BUSY this request will be queued. Request won't
10041 be allowed in any other state.
10042
10043 WDI_Start must have been called.
10044
10045 @param wdiUpdateCfgReqParams: the update cfg parameters as
10046 specified by the Device Interface
10047
10048 wdiUpdateCfgsRspCb: callback for passing back the
10049 response of the update cfg operation received from the
10050 device
10051
10052 pUserData: user data will be passed back with the
10053 callback
10054
10055 @see WDI_Start
10056 @return Result of the function call
10057*/
10058WDI_Status
10059WDI_UpdateCfgReq
10060(
10061 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10062 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10063 void* pUserData
10064);
10065
10066/**
10067 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10068 to the NV memory.
10069
10070 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10071 the Device Interface
10072
10073 wdiNvDownloadRspCb: callback for passing back the response of
10074 the NV Download operation received from the device
10075
10076 pUserData: user data will be passed back with the
10077 callback
10078
10079 @see WDI_PostAssocReq
10080 @return Result of the function call
10081*/
10082WDI_Status
10083WDI_NvDownloadReq
10084(
10085 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10086 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10087 void* pUserData
10088);
10089/**
10090 @brief WDI_AddBAReq will be called when the upper MAC has setup
10091 successfully a BA session and needs to notify the HW for
10092 the appropriate settings to take place. Upon the call of
10093 this API the WLAN DAL will pack and send a HAL Add BA
10094 request message to the lower RIVA sub-system if DAL is
10095 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_PostAssocReq must have been called.
10101
10102 @param wdiAddBAReqParams: the add BA parameters as specified by
10103 the Device Interface
10104
10105 wdiAddBARspCb: callback for passing back the response of
10106 the add BA operation received from the device
10107
10108 pUserData: user data will be passed back with the
10109 callback
10110
10111 @see WDI_PostAssocReq
10112 @return Result of the function call
10113*/
10114WDI_Status
10115WDI_AddBAReq
10116(
10117 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10118 WDI_AddBARspCb wdiAddBARspCb,
10119 void* pUserData
10120);
10121
10122/**
10123 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10124 successfully a BA session and needs to notify the HW for
10125 the appropriate settings to take place. Upon the call of
10126 this API the WLAN DAL will pack and send a HAL Add BA
10127 request message to the lower RIVA sub-system if DAL is
10128 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_PostAssocReq must have been called.
10134
10135 @param wdiAddBAReqParams: the add BA parameters as specified by
10136 the Device Interface
10137
10138 wdiAddBARspCb: callback for passing back the response of
10139 the add BA operation received from the device
10140
10141 pUserData: user data will be passed back with the
10142 callback
10143
10144 @see WDI_PostAssocReq
10145 @return Result of the function call
10146*/
10147WDI_Status
10148WDI_TriggerBAReq
10149(
10150 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10151 WDI_TriggerBARspCb wdiTriggerBARspCb,
10152 void* pUserData
10153);
10154
10155
10156/**
10157 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10158 frame xtl is enabled for a particular STA.
10159
10160 WDI_PostAssocReq must have been called.
10161
10162 @param uSTAIdx: STA index
10163
10164 @see WDI_PostAssocReq
10165 @return Result of the function call
10166*/
10167wpt_boolean WDI_IsHwFrameTxTranslationCapable
10168(
10169 wpt_uint8 uSTAIdx
10170);
10171
Katya Nigam6201c3e2014-05-27 17:51:42 +053010172
10173/**
10174 @brief WDI_IsSelfSTA - check if staid is self sta index
10175
10176 @param pWDICtx: pointer to the WLAN DAL context
10177 ucSTAIdx: station index
10178
10179 @return Result of the function call
10180*/
10181
10182wpt_boolean
10183WDI_IsSelfSTA
10184(
10185 void* pWDICtx,
10186 wpt_uint8 ucSTAIdx
10187);
10188
10189
Jeff Johnson295189b2012-06-20 16:38:30 -070010190#ifdef WLAN_FEATURE_VOWIFI_11R
10191/**
10192 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10193 the device of a successful add TSpec negotiation for 11r. HW
10194 needs to receive the TSpec Info from the UMAC in order
10195 to configure properly the QoS data traffic. Upon the
10196 call of this API the WLAN DAL will pack and send a HAL
10197 Aggregated Add TS request message to the lower RIVA sub-system if
10198 DAL is in state STARTED.
10199
10200 In state BUSY this request will be queued. Request won't
10201 be allowed in any other state.
10202
10203 WDI_PostAssocReq must have been called.
10204
10205 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10206 the Device Interface
10207
10208 wdiAggrAddTsRspCb: callback for passing back the response of
10209 the add TS operation received from the device
10210
10211 pUserData: user data will be passed back with the
10212 callback
10213
10214 @see WDI_PostAssocReq
10215 @return Result of the function call
10216*/
10217WDI_Status
10218WDI_AggrAddTSReq
10219(
10220 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10221 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10222 void* pUserData
10223);
10224#endif /* WLAN_FEATURE_VOWIFI_11R */
10225/**
10226 @brief WDI_STATableInit - Initializes the STA tables.
10227 Allocates the necesary memory.
10228
10229
10230 @param pWDICtx: pointer to the WLAN DAL context
10231
10232 @see
10233 @return Result of the function call
10234*/
10235
10236WDI_Status WDI_StubRunTest
10237(
10238 wpt_uint8 ucTestNo
10239);
10240
Jeff Johnson295189b2012-06-20 16:38:30 -070010241/**
10242 @brief WDI_FTMCommandReq -
10243 Route FTMRequest Command to HAL
10244
10245 @param ftmCommandReq: FTM request command body
10246 @param ftmCommandRspCb: Response CB
10247 @param pUserData: User data will be included with CB
10248
10249 @return Result of the function call
10250*/
10251WDI_Status WDI_FTMCommandReq
10252(
10253 WDI_FTMCommandReqType *ftmCommandReq,
10254 WDI_FTMCommandRspCb ftmCommandRspCb,
10255 void *pUserData
10256);
Jeff Johnson295189b2012-06-20 16:38:30 -070010257
10258/**
10259 @brief WDI_HostResumeReq will be called
10260
10261 In state BUSY this request will be queued. Request won't
10262 be allowed in any other state.
10263
10264
10265 @param pwdiResumeReqParams: as specified by
10266 the Device Interface
10267
10268 wdiResumeReqRspCb: callback for passing back the response of
10269 the Resume Req received from the device
10270
10271 pUserData: user data will be passed back with the
10272 callback
10273
10274 @see WDI_PostAssocReq
10275 @return Result of the function call
10276*/
10277WDI_Status
10278WDI_HostResumeReq
10279(
10280 WDI_ResumeParamsType* pwdiResumeReqParams,
10281 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10282 void* pUserData
10283);
10284
10285/**
10286 @brief WDI_GetAvailableResCount - Function to get the available resource
10287 for data and managemnt frames.
10288
10289 @param pContext: pointer to the WDI context
10290 @param wdiResPool: type of resource pool requesting
10291 @see
10292 @return Result of the function call
10293*/
10294
10295wpt_uint32 WDI_GetAvailableResCount
10296(
10297 void *pContext,
10298 WDI_ResPoolType wdiResPool
10299);
10300
10301/**
10302 @brief WDI_SetAddSTASelfReq will be called when the
10303 UMAC wanted to add self STA while opening any new session
10304 In state BUSY this request will be queued. Request won't
10305 be allowed in any other state.
10306
10307
10308 @param pwdiAddSTASelfParams: the add self sta parameters as
10309 specified by the Device Interface
10310
10311 pUserData: user data will be passed back with the
10312 callback
10313
10314 @see
10315 @return Result of the function call
10316*/
10317WDI_Status
10318WDI_AddSTASelfReq
10319(
10320 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10321 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10322 void* pUserData
10323);
10324
10325
10326/**
10327 @brief WDI_DelSTASelfReq will be called .
10328
10329 @param WDI_DelSTASelfReqParamsType
10330
10331 WDI_DelSTASelfRspCb: callback for passing back the
10332 response of the del sta self operation received from the
10333 device
10334
10335 pUserData: user data will be passed back with the
10336 callback
10337
10338 @see WDI_PostAssocReq
10339 @return Result of the function call
10340*/
10341WDI_Status
10342WDI_DelSTASelfReq
10343(
10344 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10345 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10346 void* pUserData
10347);
10348
10349/**
10350 @brief WDI_HostSuspendInd
10351
10352 Suspend Indication from the upper layer will be sent
10353 down to HAL
10354
10355 @param WDI_SuspendParamsType
10356
10357 @see
10358
10359 @return Status of the request
10360*/
10361WDI_Status
10362WDI_HostSuspendInd
10363(
10364 WDI_SuspendParamsType* pwdiSuspendIndParams
10365);
10366
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010367/**
10368 @brief WDI_TrafficStatsInd
10369
10370 Traffic Stats from the upper layer will be sent
10371 down to HAL
10372
10373 @param WDI_TrafficStatsIndType
10374
10375 @see
10376
10377 @return Status of the request
10378*/
10379WDI_Status
10380WDI_TrafficStatsInd
10381(
10382 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10383);
10384
Chet Lanctot186b5732013-03-18 10:26:30 -070010385#ifdef WLAN_FEATURE_11W
10386/**
10387 @brief WDI_ExcludeUnencryptedInd
10388 Register with HAL to receive/drop unencrypted frames
10389
10390 @param WDI_ExcludeUnencryptIndType
10391
10392 @see
10393
10394 @return Status of the request
10395*/
10396WDI_Status
10397WDI_ExcludeUnencryptedInd
10398(
10399 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10400);
10401#endif
10402
Yue Mab9c86f42013-08-14 15:59:08 -070010403/**
10404 @brief WDI_AddPeriodicTxPtrnInd
10405
10406 @param WDI_AddPeriodicTxPtrnParamsType
10407
10408 @see
10409
10410 @return Status of the request
10411*/
10412WDI_Status
10413WDI_AddPeriodicTxPtrnInd
10414(
10415 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10416);
10417
10418/**
10419 @brief WDI_DelPeriodicTxPtrnInd
10420
10421 @param WDI_DelPeriodicTxPtrnParamsType
10422
10423 @see
10424
10425 @return Status of the request
10426*/
10427WDI_Status
10428WDI_DelPeriodicTxPtrnInd
10429(
10430 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10431);
10432
Jeff Johnson295189b2012-06-20 16:38:30 -070010433#ifdef FEATURE_WLAN_SCAN_PNO
10434/**
10435 @brief WDI_SetPreferredNetworkList
10436
10437 @param pwdiPNOScanReqParams: the Set PNO as specified
10438 by the Device Interface
10439
10440 wdiPNOScanCb: callback for passing back the response
10441 of the Set PNO operation received from the
10442 device
10443
10444 pUserData: user data will be passed back with the
10445 callback
10446
10447 @see WDI_PostAssocReq
10448 @return Result of the function call
10449*/
10450WDI_Status
10451WDI_SetPreferredNetworkReq
10452(
10453 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10454 WDI_PNOScanCb wdiPNOScanCb,
10455 void* pUserData
10456);
10457
10458/**
10459 @brief WDI_SetRssiFilterReq
10460
10461 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10462 specified by the Device Interface
10463
10464 wdiRssiFilterCb: callback for passing back the response
10465 of the Set RSSI Filter operation received from the
10466 device
10467
10468 pUserData: user data will be passed back with the
10469 callback
10470
10471 @see WDI_PostAssocReq
10472 @return Result of the function call
10473*/
10474WDI_Status
10475WDI_SetRssiFilterReq
10476(
10477 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10478 WDI_RssiFilterCb wdiRssiFilterCb,
10479 void* pUserData
10480);
10481
10482/**
10483 @brief WDI_UpdateScanParams
10484
10485 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10486 by the Device Interface
10487
10488 wdiUpdateScanParamsCb: callback for passing back the response
10489 of the Set PNO operation received from the
10490 device
10491
10492 pUserData: user data will be passed back with the
10493 callback
10494
10495 @see WDI_PostAssocReq
10496 @return Result of the function call
10497*/
10498WDI_Status
10499WDI_UpdateScanParamsReq
10500(
10501 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10502 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10503 void* pUserData
10504);
10505#endif // FEATURE_WLAN_SCAN_PNO
10506
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010507#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10508/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010509 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010510
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010511 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010512 by the Device Interface
10513
10514 wdiRoamOffloadScanCb: callback for passing back the response
10515 of the Start Roam Candidate Lookup operation received from the
10516 device
10517
10518 pUserData: user data will be passed back with the
10519 callback
10520
10521 @return Result of the function call
10522*/
10523WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010524WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010525(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010526 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010527 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10528 void* pUserData
10529);
10530#endif
10531
Jeff Johnson295189b2012-06-20 16:38:30 -070010532/**
10533 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10534 wants to set the Tx Per Tracking configurations.
10535 Upon the call of this API the WLAN DAL will pack
10536 and send a HAL Set Tx Per Tracking request message to the
10537 lower RIVA sub-system if DAL is in state STARTED.
10538
10539 In state BUSY this request will be queued. Request won't
10540 be allowed in any other state.
10541
10542 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10543 specified by the Device Interface
10544
10545 wdiSetTxPerTrackingCb: callback for passing back the
10546 response of the set Tx PER Tracking configurations operation received
10547 from the device
10548
10549 pUserData: user data will be passed back with the
10550 callback
10551
10552 @return Result of the function call
10553*/
10554WDI_Status
10555WDI_SetTxPerTrackingReq
10556(
10557 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10558 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10559 void* pUserData
10560);
10561
10562/**
10563 @brief WDI_SetTmLevelReq
10564 If HW Thermal condition changed, driver should react based on new
10565 HW thermal condition.
10566
10567 @param pwdiSetTmLevelReq: New thermal condition information
10568
10569 pwdiSetTmLevelRspCb: callback
10570
10571 usrData: user data will be passed back with the
10572 callback
10573
10574 @return Result of the function call
10575*/
10576WDI_Status
10577WDI_SetTmLevelReq
10578(
10579 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10580 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10581 void *usrData
10582);
10583
10584#ifdef WLAN_FEATURE_PACKET_FILTERING
10585/**
10586 @brief WDI_8023MulticastListReq
10587
10588 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10589 List as specified by the Device Interface
10590
10591 wdi8023MulticastListCallback: callback for passing back
10592 the response of the Set 8023 Multicast List operation
10593 received from the device
10594
10595 pUserData: user data will be passed back with the
10596 callback
10597
10598 @see WDI_PostAssocReq
10599 @return Result of the function call
10600*/
10601WDI_Status
10602WDI_8023MulticastListReq
10603(
10604 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10605 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10606 void* pUserData
10607);
10608
10609/**
10610 @brief WDI_ReceiveFilterSetFilterReq
10611
10612 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10613 specified by the Device Interface
10614
10615 wdiReceiveFilterSetFilterReqCallback: callback for
10616 passing back the response of the Set Receive Filter
10617 operation received from the device
10618
10619 pUserData: user data will be passed back with the
10620 callback
10621
10622 @see WDI_PostAssocReq
10623 @return Result of the function call
10624*/
10625WDI_Status
10626WDI_ReceiveFilterSetFilterReq
10627(
10628 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10629 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10630 void* pUserData
10631);
10632
10633/**
10634 @brief WDI_PCFilterMatchCountReq
10635
10636 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10637 Count
10638
10639 wdiPCFilterMatchCountCallback: callback for passing back
10640 the response of the D0 PC Filter Match Count operation
10641 received from the device
10642
10643 pUserData: user data will be passed back with the
10644 callback
10645
10646 @see WDI_PostAssocReq
10647 @return Result of the function call
10648*/
10649WDI_Status
10650WDI_FilterMatchCountReq
10651(
10652 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10653 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10654 void* pUserData
10655);
10656
10657/**
10658 @brief WDI_ReceiveFilterClearFilterReq
10659
10660 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10661 specified by the Device Interface
10662
10663 wdiReceiveFilterClearFilterCallback: callback for
10664 passing back the response of the Clear Filter
10665 operation received from the device
10666
10667 pUserData: user data will be passed back with the
10668 callback
10669
10670 @see WDI_PostAssocReq
10671 @return Result of the function call
10672*/
10673WDI_Status
10674WDI_ReceiveFilterClearFilterReq
10675(
10676 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10677 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10678 void* pUserData
10679);
10680#endif // WLAN_FEATURE_PACKET_FILTERING
10681
10682/**
10683 @brief WDI_HALDumpCmdReq
10684 Post HAL DUMP Command Event
10685
10686 @param halDumpCmdReqParams: Hal Dump Command Body
10687 @param halDumpCmdRspCb: callback for passing back the
10688 response
10689 @param pUserData: Client Data
10690
10691 @see
10692 @return Result of the function call
10693*/
10694WDI_Status WDI_HALDumpCmdReq(
10695 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10696 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10697 void *pUserData
10698);
10699
10700
10701/**
10702 @brief WDI_SetPowerParamsReq
10703
10704 @param pwdiPowerParamsReqParams: the Set Power Params as
10705 specified by the Device Interface
10706
10707 wdiPowerParamsCb: callback for passing back the response
10708 of the Set Power Params operation received from the
10709 device
10710
10711 pUserData: user data will be passed back with the
10712 callback
10713
10714 @return Result of the function call
10715*/
10716WDI_Status
10717WDI_SetPowerParamsReq
10718(
10719 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10720 WDI_SetPowerParamsCb wdiPowerParamsCb,
10721 void* pUserData
10722);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010723/**
10724 @brief WDI_dhcpStartInd
10725 Forward the DHCP Start event
10726
10727 @param
10728
10729 wdiDHCPInd: device mode and MAC address is passed
10730
10731 @see
10732 @return Result of the function call
10733*/
10734
10735WDI_Status
10736WDI_dhcpStartInd
10737(
10738 WDI_DHCPInd *wdiDHCPInd
10739);
10740/**
10741 @brief WDI_dhcpStopReq
10742 Forward the DHCP Stop event
10743
10744 @param
10745
10746 wdiDHCPInd: device mode and MAC address is passed
10747
10748 @see
10749 @return Result of the function call
10750*/
10751
10752WDI_Status
10753WDI_dhcpStopInd
10754(
10755 WDI_DHCPInd *wdiDHCPInd
10756);
Jeff Johnson295189b2012-06-20 16:38:30 -070010757
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010758/**
10759 @brief WDI_RateUpdateInd will be called when the upper MAC
10760 requests the device to update rates.
10761
10762 In state BUSY this request will be queued. Request won't
10763 be allowed in any other state.
10764
10765
10766 @param wdiRateUpdateIndParams
10767
10768
10769 @see WDI_Start
10770 @return Result of the function call
10771*/
10772WDI_Status
10773WDI_RateUpdateInd
10774(
10775 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10776);
10777
Jeff Johnson295189b2012-06-20 16:38:30 -070010778#ifdef WLAN_FEATURE_GTK_OFFLOAD
10779/**
10780 @brief WDI_GTKOffloadReq will be called when the upper MAC
10781 wants to set GTK Rekey Counter while in power save. Upon
10782 the call of this API the WLAN DAL will pack and send a
10783 HAL GTK offload request message to the lower RIVA
10784 sub-system if DAL is in state STARTED.
10785
10786 In state BUSY this request will be queued. Request won't
10787 be allowed in any other state.
10788
10789 WDI_PostAssocReq must have been called.
10790
10791 @param pwdiGtkOffloadParams: the GTK offload as specified
10792 by the Device Interface
10793
10794 wdiGtkOffloadCb: callback for passing back the response
10795 of the GTK offload operation received from the device
10796
10797 pUserData: user data will be passed back with the
10798 callback
10799
10800 @see WDI_PostAssocReq
10801 @return Result of the function call
10802*/
10803WDI_Status
10804WDI_GTKOffloadReq
10805(
10806 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10807 WDI_GtkOffloadCb wdiGtkOffloadCb,
10808 void* pUserData
10809);
10810
10811/**
10812 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10813 MAC wants to get GTK Rekey Counter while in power save.
10814 Upon the call of this API the WLAN DAL will pack and
10815 send a HAL GTK offload request message to the lower RIVA
10816 sub-system if DAL is in state STARTED.
10817
10818 In state BUSY this request will be queued. Request won't
10819 be allowed in any other state.
10820
10821 WDI_PostAssocReq must have been called.
10822
10823 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10824 Information Message as specified by the
10825 Device Interface
10826
10827 wdiGtkOffloadGetInfoCb: callback for passing back the
10828 response of the GTK offload operation received from the
10829 device
10830
10831 pUserData: user data will be passed back with the
10832 callback
10833
10834 @see WDI_PostAssocReq
10835 @return Result of the function call
10836*/
10837WDI_Status
10838WDI_GTKOffloadGetInfoReq
10839(
10840 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10841 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10842 void* pUserData
10843);
10844#endif // WLAN_FEATURE_GTK_OFFLOAD
10845
10846/**
10847 @brief WDI_featureCapsExchangeReq
10848 Post feature capability bitmap exchange event.
10849 Host will send its own capability to FW in this req and
10850 expect FW to send its capability back as a bitmap in Response
10851
10852 @param
10853
10854 wdiFeatCapsExcRspCb: callback called on getting the response.
10855 It is kept to mantain similarity between WDI reqs and if needed, can
10856 be used in future. Currently, It is set to NULL
10857
10858 pUserData: user data will be passed back with the
10859 callback
10860
10861 @see
10862 @return Result of the function call
10863*/
10864WDI_Status
10865WDI_featureCapsExchangeReq
10866(
10867 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10868 void* pUserData
10869);
10870
10871/**
Yathish9f22e662012-12-10 14:21:35 -080010872 @brief Disable Active mode offload in Host
10873
10874 @param void
10875 @see
10876 @return void
10877*/
10878void
10879WDI_disableCapablityFeature(wpt_uint8 feature_index);
10880
10881
10882/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010883 @brief WDI_getHostWlanFeatCaps
10884 WDI API that returns whether the feature passed to it as enum value in
10885 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10886 variable storing host capability bitmap to find this. This can be used by
10887 other moduels to decide certain things like call different APIs based on
10888 whether a particular feature is supported.
10889
10890 @param
10891
10892 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10893
10894 @see
10895 @return
10896 0 - if the feature is NOT supported in host
10897 any non-zero value - if the feature is SUPPORTED in host.
10898*/
10899wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10900
10901/**
10902 @brief WDI_getFwWlanFeatCaps
10903 WDI API that returns whether the feature passed to it as enum value in
10904 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10905 variable storing host capability bitmap to find this. This can be used by
10906 other moduels to decide certain things like call different APIs based on
10907 whether a particular feature is supported.
10908
10909 @param
10910
Jeff Johnsone7245742012-09-05 17:12:55 -070010911 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10912 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010913
10914 @see
10915 @return
10916 0 - if the feature is NOT supported in FW
10917 any non-zero value - if the feature is SUPPORTED in FW.
10918*/
10919wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10920
10921/**
10922 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10923 api version
10924
10925 @param WDI_WlanVersionType: Wlan version structure
10926 @see
10927 @return none
10928*/
10929
10930void WDI_GetWcnssCompiledApiVersion
10931(
10932 WDI_WlanVersionType *pWcnssApiVersion
10933);
10934
Mohit Khanna4a70d262012-09-11 16:30:12 -070010935#ifdef WLAN_FEATURE_11AC
10936WDI_Status
10937WDI_UpdateVHTOpModeReq
10938(
10939 WDI_UpdateVHTOpMode *pData,
10940 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10941 void* pUserData
10942);
Jeff Johnson295189b2012-06-20 16:38:30 -070010943
Mohit Khanna4a70d262012-09-11 16:30:12 -070010944#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010945
10946/**
10947 @brief WDI_TransportChannelDebug -
10948 Display DXE Channel debugging information
10949 User may request to display DXE channel snapshot
10950 Or if host driver detects any abnormal stcuk may display
10951
Jeff Johnsonb88db982012-12-10 13:34:59 -080010952 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010953 @param debugFlags : Enable stall detect features
10954 defined by WPAL_DeviceDebugFlags
10955 These features may effect
10956 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010957 @see
10958 @return none
10959*/
10960void WDI_TransportChannelDebug
10961(
10962 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010963 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010964);
10965
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010966/**
10967 @brief WDI_SsrTimerCB
10968 Callback function for SSR timer, if this is called then the graceful
10969 shutdown for Riva did not happen.
10970
10971 @param pUserData : user data to timer
10972
10973 @see
10974 @return none
10975*/
10976void
10977WDI_SsrTimerCB
10978(
10979 void *pUserData
10980);
10981
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010982/**
10983 @brief WDI_SetEnableSSR -
10984 This API is called to enable/disable SSR on WDI timeout.
10985
10986 @param enableSSR : enable/disable SSR
10987
10988 @see
10989 @return none
10990*/
10991void WDI_SetEnableSSR(wpt_boolean enableSSR);
10992
Leo Chang9056f462013-08-01 19:21:11 -070010993#ifdef FEATURE_WLAN_LPHB
10994/**
10995 @brief WDI_LPHBConfReq
10996 This API is called to config FW LPHB rule
10997
10998 @param lphbconfParam : LPHB rule should config to FW
10999 usrData : Client context
11000 lphbCfgCb : Configuration status callback
11001 @see
11002 @return SUCCESS or FAIL
11003*/
11004WDI_Status WDI_LPHBConfReq
11005(
11006 void *lphbconfParam,
11007 void *usrData,
11008 WDI_LphbCfgCb lphbCfgCb
11009);
11010#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011011
Dino Mycle41bdc942014-06-10 11:30:24 +053011012#ifdef WLAN_FEATURE_EXTSCAN
11013/**
11014 @brief WDI_EXTScanStartReq
11015 This API is called to send EXTScan start request to FW
11016
11017 @param pwdiEXTScanStartReqParams : pointer to the request params.
11018 wdiEXTScanStartRspCb : callback on getting the response.
11019 usrData : Client context
11020 @see
11021 @return SUCCESS or FAIL
11022*/
11023WDI_Status WDI_EXTScanStartReq
11024(
11025 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11026 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11027 void* pUserData
11028);
11029
11030/**
11031 @brief WDI_EXTScanStopReq
11032 This API is called to stop the EXTScan operations in the FW
11033
11034 @param pwdiEXTScanStopReqParams : pointer to the request params.
11035 wdiEXTScanStopRspCb : callback on getting the response.
11036 usrData : Client context
11037 @see
11038 @return SUCCESS or FAIL
11039*/
11040WDI_Status WDI_EXTScanStopReq
11041(
11042 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11043 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11044 void* pUserData
11045);
11046
11047/**
11048 @brief WDI_EXTScanGetCachedResultsReq
11049 This API is called to send get link layer stats request in FW
11050
11051 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11052 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11053 usrData : Client context
11054 @see
11055 @return SUCCESS or FAIL
11056*/
11057WDI_Status WDI_EXTScanGetCachedResultsReq
11058(
11059 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11060 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11061 void* pUserData
11062);
11063
11064/**
11065 @brief WDI_EXTScanGetCapabilitiesReq
11066 This API is called to send get EXTScan capabilities from FW
11067
11068 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11069 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11070 usrData : Client context
11071 @see
11072 @return SUCCESS or FAIL
11073*/
11074WDI_Status WDI_EXTScanGetCapabilitiesReq
11075(
11076 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11077 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11078 void* pUserData
11079);
11080
11081/**
11082 @brief WDI_EXTScanSetBSSIDHotlistReq
11083 This API is called to send Set BSSID Hotlist Request FW
11084
11085 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11086 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11087 usrData : Client context
11088 @see
11089 @return SUCCESS or FAIL
11090*/
11091WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11092(
11093 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11094 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11095 void* pUserData
11096);
11097
11098/**
11099 @brief WDI_EXTScanResetBSSIDHotlistReq
11100 This API is called to send Reset BSSID Hotlist Request FW
11101
11102 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11103 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11104 usrData : Client context
11105 @see
11106 @return SUCCESS or FAIL
11107*/
11108WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11109(
11110 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11111 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11112 void* pUserData
11113);
11114
11115/**
11116 @brief WDI_EXTScanSetSignfRSSIChangeReq
11117 This API is called to send Set Significant RSSI Request FW
11118
11119 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11120 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11121 usrData : Client context
11122 @see
11123 @return SUCCESS or FAIL
11124*/
11125WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11126(
11127 WDI_EXTScanSetSignfRSSIChangeReqParams*
11128 pwdiEXTScanSetSignfRSSIChangeReqParams,
11129 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11130 void* pUserData
11131);
11132
11133/**
11134 @brief WDI_EXTScanResetSignfRSSIChangeReq
11135 This API is called to send Reset BSSID Hotlist Request FW
11136
11137 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11138 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11139 usrData : Client context
11140 @see
11141 @return SUCCESS or FAIL
11142*/
11143WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11144(
11145 WDI_EXTScanResetSignfRSSIChangeReqParams*
11146 pwdiEXTScanResetSignfRSSIChangeReqParams,
11147 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11148 void* pUserData
11149);
11150#endif /* WLAN_FEATURE_EXTSCAN */
11151
Sunil Duttbd736ed2014-05-26 21:19:41 +053011152#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11153/**
11154 @brief WDI_LLStatsSetReq
11155 This API is called to send set link layer stats request to FW
11156
11157 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11158 wdiLLStatsSetRspCb : set link layer stats response callback
11159 usrData : Client context
11160 @see
11161 @return SUCCESS or FAIL
11162*/
11163WDI_Status WDI_LLStatsSetReq
11164(
11165 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11166 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11167 void* pUserData
11168);
11169
11170/**
11171 @brief WDI_LLStatsGetReq
11172 This API is called to send get link layer stats request in FW
11173
11174 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11175 wdiLLStatsGetRspCb : get link layer stats response callback
11176 usrData : Client context
11177 @see
11178 @return SUCCESS or FAIL
11179*/
11180WDI_Status WDI_LLStatsGetReq
11181(
11182 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11183 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11184 void* pUserData
11185);
11186
11187/**
11188 @brief WDI_LLStatsClearReq
11189 This API is called to set clear link layer stats request in FW
11190
11191 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11192 iwdiLLStatsClearRspCb : clear link layer stats response callback
11193 usrData : Client context
11194 @see
11195 @return SUCCESS or FAIL
11196*/
11197WDI_Status WDI_LLStatsClearReq
11198(
11199 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11200 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11201 void* pUserData
11202);
11203#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11204
Abhishek Singh85b74712014-10-08 11:38:19 +053011205WDI_Status WDI_FWStatsGetReq
11206(
11207 void* pwdiFWStatsGetReqParams,
11208 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11209 wpt_uint32 pUserData
11210);
11211
Rajeev79dbe4c2013-10-05 11:03:42 +053011212#ifdef FEATURE_WLAN_BATCH_SCAN
11213/**
11214 @brief WDI_SetBatchScanReq
11215 This API is called to set batch scan request in FW
11216
11217 @param pBatchScanReqParam : pointer to set batch scan re param
11218 usrData : Client context
11219 setBatchScanRspCb : set batch scan resp callback
11220 @see
11221 @return SUCCESS or FAIL
11222*/
11223WDI_Status WDI_SetBatchScanReq
11224(
11225 void *pBatchScanReqParam,
11226 void *usrData,
11227 WDI_SetBatchScanCb setBatchScanRspCb
11228);
11229
11230/**
11231 @brief WDI_StopBatchScanInd
11232
11233 @param none
11234
11235 @see
11236
11237 @return Status of the request
11238*/
11239WDI_Status
11240WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11241
11242/**
11243 @brief WDI_TriggerBatchScanResultInd
11244 This API is called to pull batch scan result from FW
11245
11246 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11247 usrData : Client context
11248 setBatchScanRspCb : get batch scan resp callback
11249 @see
11250 @return SUCCESS or FAIL
11251*/
11252WDI_Status
11253WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11254
11255
11256#endif /*FEATURE_WLAN_BATCH_SCAN*/
11257
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011258/**
11259 @brief wdi_HT40OBSSScanInd
11260 This API is called to start OBSS scan
11261
11262 @param pWdiReq : pointer to get ind param
11263 @see
11264 @return SUCCESS or FAIL
11265*/
11266
11267WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11268
11269/**
11270 @brief wdi_HT40OBSSStopScanInd
11271 This API is called to stop OBSS scan
11272
11273 @param bssIdx : bssIdx to stop
11274 @see
11275 @return SUCCESS or FAIL
11276*/
11277
11278WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11279
c_hpothu92367912014-05-01 15:18:17 +053011280
11281WDI_Status WDI_GetBcnMissRate( void *pUserData,
11282 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11283 wpt_uint8 *bssid
11284 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011285WDI_Status
11286WDI_SetSpoofMacAddrReq
11287(
11288WDI_SpoofMacAddrInfoType *pWdiReq,
11289 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11290 void* pUserData
11291);
c_hpothu92367912014-05-01 15:18:17 +053011292
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011293WDI_Status
11294WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11295 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11296 void* pUserData
11297 );
Jeff Johnson295189b2012-06-20 16:38:30 -070011298#ifdef __cplusplus
11299 }
11300#endif
11301
Jeff Johnson295189b2012-06-20 16:38:30 -070011302#endif /* #ifndef WLAN_QCT_WDI_H */