blob: a0d142363488720d9d3fb52c6601e0c100b91db2 [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
45 Copyright (c) 2010-2011 QUALCOMM Incorporated.
46 All Rights Reserved.
47 Qualcomm Confidential and Proprietary
48===========================================================================*/
49
50
51/*===========================================================================
52
53 EDIT HISTORY FOR FILE
54
55
56 This section contains comments describing changes made to the module.
57 Notice that changes are listed in reverse chronological order.
58
59
60 $Header:$ $DateTime: $ $Author: $
61
62
63when who what, where, why
64-------- --- ----------------------------------------------------------
6510/05/11 hap Adding support for Keep Alive
6608/04/10 lti Created module.
67
68===========================================================================*/
69
70
71
72/*===========================================================================
73
74 INCLUDE FILES FOR MODULE
75
76===========================================================================*/
77
78/*----------------------------------------------------------------------------
79 * Include Files
80 * -------------------------------------------------------------------------*/
81#include "wlan_qct_pal_api.h"
82#include "wlan_qct_pal_type.h"
83#include "wlan_qct_pack_align.h"
84#include "wlan_qct_wdi_cfg.h"
85
86/*----------------------------------------------------------------------------
87 * Preprocessor Definitions and Constants
88 * -------------------------------------------------------------------------*/
89#ifdef __cplusplus
90 extern "C" {
91#endif
92
93/* MAC ADDRESS LENGTH - per spec*/
94#define WDI_MAC_ADDR_LEN 6
95
96/* Max number of 11b rates -> 1,2,5.5,11 */
97#define WDI_NUM_11B_RATES 4
98
99/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
100#define WDI_NUM_11A_RATES 8
101
102/* Max number of legacy rates -> 72, 96, 108*/
103#define WDI_NUM_POLARIS_RATES 3
104
105/* Max supported MCS set*/
106#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
107
108/*Max number of Access Categories for QoS - per spec */
109#define WDI_MAX_NO_AC 4
110
111/*Max. size for reserving the Beacon Template */
112#define WDI_BEACON_TEMPLATE_SIZE 0x180
113
114#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
115
116#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
117
118#define WDI_MAX_SSID_SIZE 32
119
120/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
121from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
122of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
123
124#define FRAGMENT_SIZE 3072
125
126/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800127#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530130#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700131
132/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
133#define WDI_COEX_IND_DATA_SIZE (4)
134
135#define WDI_CIPHER_SEQ_CTR_SIZE 6
136
137#define WDI_NUM_BSSID 2
138
139/*Version string max length (including NUL) */
140#define WDI_VERSION_LENGTH 64
141
142
143/*WDI Response timeout - how long will WDI wait for a response from the device
144 - it should be large enough to allow any other failure mechanism to kick
145 in before we get to a timeout (ms units)*/
146#define WDI_RESPONSE_TIMEOUT 10000
147
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700148/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
149 * Apps initiated SSR will be performed */
150#define WDI_SSR_TIMEOUT 5000
151
Jeff Johnson295189b2012-06-20 16:38:30 -0700152#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
153
Yue Mab9c86f42013-08-14 15:59:08 -0700154/* Periodic Tx pattern offload feature */
155#define PERIODIC_TX_PTRN_MAX_SIZE 1536
156#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530157#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Yue Mab9c86f42013-08-14 15:59:08 -0700158
Jeff Johnson295189b2012-06-20 16:38:30 -0700159/*============================================================================
160 * GENERIC STRUCTURES
161
162============================================================================*/
163
164/*---------------------------------------------------------------------------
165 WDI Version Information
166---------------------------------------------------------------------------*/
167typedef struct
168{
169 wpt_uint8 revision;
170 wpt_uint8 version;
171 wpt_uint8 minor;
172 wpt_uint8 major;
173} WDI_WlanVersionType;
174
175/*---------------------------------------------------------------------------
176 WDI Device Capability
177---------------------------------------------------------------------------*/
178typedef struct
179{
180 /*If this flag is true it means that the device can support 802.3/ETH2 to
181 802.11 translation*/
182 wpt_boolean bFrameXtlSupported;
183
184 /*Maximum number of BSSes supported by the Device */
185 wpt_uint8 ucMaxBSSSupported;
186
187 /*Maximum number of stations supported by the Device */
188 wpt_uint8 ucMaxSTASupported;
189}WDI_DeviceCapabilityType;
190
191/*---------------------------------------------------------------------------
192 WDI Channel Offset
193---------------------------------------------------------------------------*/
194typedef enum
195{
196 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
197 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700198 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
199#ifdef WLAN_FEATURE_11AC
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
205 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
206 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
207#endif
208 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700209}WDI_HTSecondaryChannelOffset;
210
211/*---------------------------------------------------------------------------
212 WDI_MacFrameCtl
213 Frame control field format (2 bytes)
214---------------------------------------------------------------------------*/
215typedef struct
216{
217 wpt_uint8 protVer :2;
218 wpt_uint8 type :2;
219 wpt_uint8 subType :4;
220
221 wpt_uint8 toDS :1;
222 wpt_uint8 fromDS :1;
223 wpt_uint8 moreFrag :1;
224 wpt_uint8 retry :1;
225 wpt_uint8 powerMgmt :1;
226 wpt_uint8 moreData :1;
227 wpt_uint8 wep :1;
228 wpt_uint8 order :1;
229
230} WDI_MacFrameCtl;
231
232/*---------------------------------------------------------------------------
233 WDI Sequence control field
234---------------------------------------------------------------------------*/
235typedef struct
236{
237 wpt_uint8 fragNum : 4;
238 wpt_uint8 seqNumLo : 4;
239 wpt_uint8 seqNumHi : 8;
240} WDI_MacSeqCtl;
241
242/*---------------------------------------------------------------------------
243 Management header format
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 WDI_MacFrameCtl fc;
248 wpt_uint8 durationLo;
249 wpt_uint8 durationHi;
250 wpt_uint8 da[WDI_MAC_ADDR_LEN];
251 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
252 wpt_macAddr bssId;
253 WDI_MacSeqCtl seqControl;
254} WDI_MacMgmtHdr;
255
256/*---------------------------------------------------------------------------
257 NV Blob management sturcture
258 ---------------------------------------------------------------------------*/
259
260typedef struct
261{
262 /* NV image fragments count */
263 wpt_uint16 usTotalFragment;
264
265 /* NV fragment size */
266 wpt_uint16 usFragmentSize;
267
268 /* current fragment to be sent */
269 wpt_uint16 usCurrentFragment;
270
271} WDI_NvBlobInfoParams;
272
273
274/*---------------------------------------------------------------------------
275 Data path enums memory pool resource
276 ---------------------------------------------------------------------------*/
277
278typedef enum
279{
280 /* managment resource pool ID */
281 WDI_MGMT_POOL_ID = 0,
282 /* Data resource pool ID */
283 WDI_DATA_POOL_ID = 1
284}WDI_ResPoolType;
285
286/*============================================================================
287 * GENERIC STRUCTURES - END
288 ============================================================================*/
289
290/*----------------------------------------------------------------------------
291 * Type Declarations
292 * -------------------------------------------------------------------------*/
293/*---------------------------------------------------------------------------
294 WDI Status
295---------------------------------------------------------------------------*/
296typedef enum
297{
298 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
299 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
300 synchronous way - no rsp will be generated*/
301 WDI_STATUS_PENDING, /* Operation result is pending and will be
302 provided asynchronously through the Req Status
303 Callback */
304 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
305 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
306 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
307 failure*/
308 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
309 of the driver*/
310 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
311
312 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
313 WDI_STATUS_MAX
314
315}WDI_Status;
316
317
318/*---------------------------------------------------------------------------
319 WDI_ReqStatusCb
320
321 DESCRIPTION
322
323 This callback is invoked by DAL to deliver to UMAC the result of posting
324 a previous request for which the return status was PENDING.
325
326 PARAMETERS
327
328 IN
329 wdiStatus: response status received from the Control Transport
330 pUserData: user data
331
332
333
334 RETURN VALUE
335 The result code associated with performing the operation
336---------------------------------------------------------------------------*/
337typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
338 void* pUserData);
339
340/*---------------------------------------------------------------------------
341 WDI_LowLevelIndEnumType
342 Types of indication that can be posted to UMAC by DAL
343---------------------------------------------------------------------------*/
344typedef enum
345{
346 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
347 passed. */
348 WDI_RSSI_NOTIFICATION_IND,
349
350 /*Link loss in the low MAC */
351 WDI_MISSED_BEACON_IND,
352
353 /*when hardware has signaled an unknown addr2 frames. The indication will
354 contain info from frames to be passed to the UMAC, this may use this info to
355 deauth the STA*/
356 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
357
358 /*MIC Failure detected by HW*/
359 WDI_MIC_FAILURE_IND,
360
361 /*Fatal Error Ind*/
362 WDI_FATAL_ERROR_IND,
363
364 /*Delete Station Ind*/
365 WDI_DEL_STA_IND,
366
367 /*Indication from Coex*/
368 WDI_COEX_IND,
369
370 /* Indication for Tx Complete */
371 WDI_TX_COMPLETE_IND,
372
373 /*.P2P_NOA_Attr_Indication */
374 WDI_P2P_NOA_ATTR_IND,
375
376 /* Preferred Network Found Indication */
377 WDI_PREF_NETWORK_FOUND_IND,
378
379 WDI_WAKE_REASON_IND,
380
381 /* Tx PER Tracking Indication */
382 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Viral Modid86bde22012-12-10 13:09:21 -0800384 /* P2P_NOA_Start_Indication */
385 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800386
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530387 /* TDLS_Indication */
388 WDI_TDLS_IND,
389
Leo Changd9df8aa2013-09-26 13:32:26 -0700390 /* LPHB Indication from FW to umac */
391 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700392
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700393 /* IBSS Peer Inactivity Indication */
394 WDI_IBSS_PEER_INACTIVITY_IND,
395
Yue Mab9c86f42013-08-14 15:59:08 -0700396 /* Periodic Tx Pattern FW Indication */
397 WDI_PERIODIC_TX_PTRN_FW_IND,
398
Rajeev79dbe4c2013-10-05 11:03:42 +0530399#ifdef FEATURE_WLAN_BATCH_SCAN
400 /*Batch scan result indication from FW*/
401 WDI_BATCH_SCAN_RESULT_IND,
402#endif
403
Leo Chang0b0e45a2013-12-15 15:18:55 -0800404#ifdef FEATURE_WLAN_CH_AVOID
405 WDI_CH_AVOID_IND,
406#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530407#ifdef WLAN_FEATURE_LINK_LAYER_STATS
408 WDI_LL_STATS_RESULTS_IND,
409#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530410#ifdef WLAN_FEATURE_EXTSCAN
411 WDI_EXTSCAN_PROGRESS_IND,
412 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
413 WDI_EXTSCAN_SCAN_RESULT_IND,
414 WDI_EXTSCAN_GET_CAPABILITIES_IND,
415 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
416 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
417#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530418 /*Delete BA Ind*/
419 WDI_DEL_BA_IND,
Leo Chang0b0e45a2013-12-15 15:18:55 -0800420
Jeff Johnson295189b2012-06-20 16:38:30 -0700421 WDI_MAX_IND
422}WDI_LowLevelIndEnumType;
423
424
425/*---------------------------------------------------------------------------
426 WDI_LowRSSIThIndType
427---------------------------------------------------------------------------*/
428typedef struct
429{
430 /*Positive crossing of Rssi Thresh1*/
431 wpt_uint32 bRssiThres1PosCross : 1;
432 /*Negative crossing of Rssi Thresh1*/
433 wpt_uint32 bRssiThres1NegCross : 1;
434 /*Positive crossing of Rssi Thresh2*/
435 wpt_uint32 bRssiThres2PosCross : 1;
436 /*Negative crossing of Rssi Thresh2*/
437 wpt_uint32 bRssiThres2NegCross : 1;
438 /*Positive crossing of Rssi Thresh3*/
439 wpt_uint32 bRssiThres3PosCross : 1;
440 /*Negative crossing of Rssi Thresh3*/
441 wpt_uint32 bRssiThres3NegCross : 1;
442
Srinivasdaaec712012-12-12 15:59:44 -0800443 wpt_uint32 avgRssi : 8;
444 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700445
446}WDI_LowRSSIThIndType;
447
448
449/*---------------------------------------------------------------------------
450 WDI_UnkAddr2FrmRxIndType
451---------------------------------------------------------------------------*/
452typedef struct
453{
454 /*Rx Bd data of the unknown received addr2 frame.*/
455 void* bufRxBd;
456
457 /*Buffer Length*/
458 wpt_uint16 usBufLen;
459}WDI_UnkAddr2FrmRxIndType;
460
461/*---------------------------------------------------------------------------
462 WDI_DeleteSTAIndType
463---------------------------------------------------------------------------*/
464typedef struct
465{
466 /*ASSOC ID, as assigned by UMAC*/
467 wpt_uint16 usAssocId;
468
469 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
470 wpt_uint8 ucSTAIdx;
471
472 /*BSSID of STA*/
473 wpt_macAddr macBSSID;
474
475 /*MAC ADDR of STA*/
476 wpt_macAddr macADDR2;
477
478 /* To unify the keepalive / unknown A2 / tim-based disa*/
479 wpt_uint16 wptReasonCode;
480
481}WDI_DeleteSTAIndType;
482
483/*---------------------------------------------------------------------------
484 WDI_MicFailureIndType
485---------------------------------------------------------------------------*/
486typedef struct
487{
488 /*current BSSID*/
489 wpt_macAddr bssId;
490
491 /*Source mac address*/
492 wpt_macAddr macSrcAddr;
493
494 /*Transmitter mac address*/
495 wpt_macAddr macTaAddr;
496
497 /*Destination mac address*/
498 wpt_macAddr macDstAddr;
499
500 /*Multicast flag*/
501 wpt_uint8 ucMulticast;
502
503 /*First byte of IV*/
504 wpt_uint8 ucIV1;
505
506 /*Key Id*/
507 wpt_uint8 keyId;
508
509 /*Sequence Number*/
510 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
511
512 /*receive address */
513 wpt_macAddr macRxAddr;
514}WDI_MicFailureIndType;
515
516/*---------------------------------------------------------------------------
517 WDI_CoexIndType
518---------------------------------------------------------------------------*/
519typedef struct
520{
521 wpt_uint32 coexIndType;
522 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
523} WDI_CoexIndType;
524
525/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530526 WDI_DHCPInd
527---------------------------------------------------------------------------*/
528
529typedef struct
530{
531 wpt_uint8 device_mode;
532 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
533}WDI_DHCPInd;
534
535/*---------------------------------------------------------------------------
536
Jeff Johnson295189b2012-06-20 16:38:30 -0700537 WDI_MacSSid
538---------------------------------------------------------------------------*/
539typedef struct
540{
541 wpt_uint8 ucLength;
542 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
543} WDI_MacSSid;
544
545#ifdef FEATURE_WLAN_SCAN_PNO
546/*---------------------------------------------------------------------------
547 WDI_PrefNetworkFoundInd
548---------------------------------------------------------------------------*/
549typedef struct
550{
551 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700552 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700553 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700554 wpt_uint8 rssi;
555 wpt_uint16 frameLength;
556 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700557} WDI_PrefNetworkFoundInd;
558#endif // FEATURE_WLAN_SCAN_PNO
559
Jeff Johnson295189b2012-06-20 16:38:30 -0700560/*---------------------------------------------------------------------------
561 *WDI_P2pNoaAttrIndType
562 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700563typedef struct
564{
565 wpt_uint8 ucIndex ;
566 wpt_uint8 ucOppPsFlag ;
567 wpt_uint16 usCtWin ;
568
569 wpt_uint16 usNoa1IntervalCnt;
570 wpt_uint16 usRsvd1 ;
571 wpt_uint32 uslNoa1Duration;
572 wpt_uint32 uslNoa1Interval;
573 wpt_uint32 uslNoa1StartTime;
574
575 wpt_uint16 usNoa2IntervalCnt;
576 wpt_uint16 usRsvd2;
577 wpt_uint32 uslNoa2Duration;
578 wpt_uint32 uslNoa2Interval;
579 wpt_uint32 uslNoa2StartTime;
580
581 wpt_uint32 status;
582}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800583
584/*---------------------------------------------------------------------------
585 *WDI_P2pNoaStartIndType
586 *-------------------------------------------------------------------------*/
587typedef struct
588{
589 wpt_uint32 status;
590 wpt_uint32 bssIdx;
591}WDI_P2pNoaStartIndType;
592
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530593/*---------------------------------------------------------------------------
594 *WDI_TdlsIndType
595 *-------------------------------------------------------------------------*/
596typedef struct
597{
598 wpt_uint16 status;
599 wpt_uint16 assocId;
600 wpt_uint16 staIdx;
601 wpt_uint16 reasonCode;
602}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700603
604#ifdef WLAN_WAKEUP_EVENTS
605/*---------------------------------------------------------------------------
606 WDI_WakeReasonIndType
607---------------------------------------------------------------------------*/
608typedef struct
609{
610 wpt_uint32 ulReason; /* see tWakeReasonType */
611 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
612 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
613 HAL truncates the data (i.e. data packets) this length
614 will be less than the actual length */
615 wpt_uint32 ulActualDataLen; /* actual length of data */
616 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
617 see specific wake type */
618} WDI_WakeReasonIndType;
619#endif // WLAN_WAKEUP_EVENTS
620
621/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800622 WDI_MissedBeaconIndType
623-----------------------------------------------------------------------------*/
624typedef struct
625{
626 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
627} WDI_MissedBeaconIndType;
628
Leo Chang9056f462013-08-01 19:21:11 -0700629#ifdef FEATURE_WLAN_LPHB
630/*---------------------------------------------------------------------------
631 WDI_LPHBTimeoutIndData
632-----------------------------------------------------------------------------*/
633typedef struct
634{
635 wpt_uint8 bssIdx;
636 wpt_uint8 sessionIdx;
637 wpt_uint8 protocolType; /*TCP or UDP*/
638 wpt_uint8 eventReason;
639} WDI_LPHBTimeoutIndData;
640#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800641
Yue Mab9c86f42013-08-14 15:59:08 -0700642/*-----------------------------------------------------------------------------
643WDI_PeriodicTxPtrnFwIndType
644-----------------------------------------------------------------------------*/
645typedef struct
646{
647 wpt_uint8 bssIdx;
648 wpt_uint32 selfStaIdx;
649 wpt_uint32 status;
650 wpt_uint32 patternIdBitmap;
651} WDI_PeriodicTxPtrnFwIndType;
652
Rajeev79dbe4c2013-10-05 11:03:42 +0530653#ifdef FEATURE_WLAN_BATCH_SCAN
654/*---------------------------------------------------------------------------
655 WDI_SetBatchScanReqType
656---------------------------------------------------------------------------*/
657typedef struct
658{
659 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
660 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
661 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
662 wpt_uint8 rfBand; /* band to scan :
663 0 ->both Band, 1->2.4Ghz Only
664 and 2-> 5GHz Only */
665 wpt_uint32 rtt; /* set if required to do RTT it is not
666 supported in current version */
667}WDI_SetBatchScanReqType;
668
669/*---------------------------------------------------------------------------
670 WDI_SetBatchScanRspType
671---------------------------------------------------------------------------*/
672typedef struct
673{
674 /*max number of scans which FW can cache*/
675 wpt_uint32 nScansToBatch;
676}WDI_SetBatchScanRspType;
677
678/*---------------------------------------------------------------------------
679 WDI_TriggerBatchScanResultIndType
680---------------------------------------------------------------------------*/
681typedef struct
682{
683 wpt_uint32 param;
684}WDI_TriggerBatchScanResultIndType;
685
686/*---------------------------------------------------------------------------
687 WDI_StopBatchScanIndType
688---------------------------------------------------------------------------*/
689typedef struct
690{
691 /*max number of scans which FW can cache*/
692 wpt_uint32 param;
693}WDI_StopBatchScanIndType;
694
695
696/*---------------------------------------------------------------------------
697 * WDI_BatchScanResultIndType
698 *--------------------------------------------------------------------------*/
699typedef struct
700{
701 wpt_uint32 bssid[6]; /* BSSID */
702 wpt_uint32 ssid[32]; /* SSID */
703 wpt_uint32 ch; /* Channel */
704 wpt_uint32 rssi; /* RSSI or Level */
705 /* Timestamp when Network was found. Used to calculate age based on
706 timestamp in GET_RSP msg header */
707 wpt_uint32 timestamp;
708} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
709
710typedef struct
711{
712 wpt_uint32 scanId; /*Scan List ID*/
713 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
714 wpt_uint32 numNetworksInScanList;
715 /*Variable data ptr: Number of AP in Scan List*/
716 wpt_uint32 scanList[1];
717} tWDIBatchScanList, *tpWDIBatchScanList;
718
719typedef struct
720{
721 wpt_uint32 timestamp;
722 wpt_uint32 numScanLists;
723 wpt_boolean isLastResult;
724 /* Variable Data ptr: Number of Scan Lists*/
725 wpt_uint32 scanResults[1];
726} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
727
728#endif
729
730
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800731/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700732 WDI_IbssPeerInactivityIndType
733-----------------------------------------------------------------------------*/
734typedef struct
735{
736 wpt_uint8 bssIdx;
737 wpt_uint8 staIdx;
738 wpt_macAddr staMacAddr;
739}WDI_IbssPeerInactivityIndType;
740
741/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700742 WDI_TxRateFlags
743-----------------------------------------------------------------------------*/
744typedef enum
745{
746 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
747 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
748 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
749 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
750 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
751 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
752 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
753 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
754 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
755} WDI_TxRateFlags;
756
757/*---------------------------------------------------------------------------
758 WDI_RateUpdateIndParams
759-----------------------------------------------------------------------------*/
760typedef struct
761{
762 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
763 * param ucastDataRate can be used to control RA behavior of unicast data to
764 */
765 wpt_int32 ucastDataRate;
766
767 /* TX flag to differentiate between HT20, HT40 etc */
768 WDI_TxRateFlags ucastDataRateTxFlag;
769
770 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
771 wpt_macAddr bssid;
772
773 /*
774 * 0 implies MCAST RA, positive value implies fixed rate,
775 * -1 implies ignore this param
776 */
777 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
778
779 /* TX flag to differentiate between HT20, HT40 etc */
780 WDI_TxRateFlags reliableMcastDataRateTxFlag;
781
782 /*
783 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
784 * 0 implies ignore
785 */
786 wpt_uint32 mcastDataRate24GHz;
787
788 /* TX flag to differentiate between HT20, HT40 etc */
789 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
790
791 /*
792 * MCAST(or BCAST) fixed data rate in 5 GHz,
793 * unit Mbpsx10, 0 implies ignore
794 */
795 wpt_uint32 mcastDataRate5GHz;
796
797 /* TX flag to differentiate between HT20, HT40 etc */
798 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
799
800 /*
801 * Request status callback offered by UMAC - it is called if the current
802 * req has returned PENDING as status; it delivers the status of sending
803 * the message over the BUS
804 */
805 WDI_ReqStatusCb wdiReqStatusCB;
806
807 /*
808 * The user data passed in by UMAC, it will be sent back when the above
809 * function pointer will be called
810 */
811 void *pUserData;
812
813} WDI_RateUpdateIndParams;
814
Abhishek Singh85b74712014-10-08 11:38:19 +0530815typedef struct
816{
817 wpt_uint32 ubsp_enter_cnt;
818 wpt_uint32 ubsp_jump_ddr_cnt;
819}ubspFwStats;
820
821typedef struct
822{
823 wpt_uint32 type;
824 /*data*/
825 union{
826 ubspFwStats ubspStats;
827 }wdiFwStatsData;
828} WDI_FWStatsResults;
829
Leo Chang0b0e45a2013-12-15 15:18:55 -0800830#ifdef FEATURE_WLAN_CH_AVOID
831#define WDI_CH_AVOID_MAX_RANGE 4
832
833typedef struct
834{
835 wpt_uint32 startFreq;
836 wpt_uint32 endFreq;
837} WDI_ChAvoidFreqType;
838
839typedef struct
840{
841 wpt_uint32 avoidRangeCount;
842 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
843} WDI_ChAvoidIndType;
844#endif /* FEATURE_WLAN_CH_AVOID */
845
Dino Mycled3d50022014-07-07 12:58:25 +0530846#ifdef WLAN_FEATURE_LINK_LAYER_STATS
847typedef struct
848{
849 void *pLinkLayerStatsResults;
850 wpt_macAddr macAddr;
851} WDI_LinkLayerStatsResults;
852
853#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530854
855typedef struct
856{
857 /*STA Index*/
858 wpt_uint16 staIdx;
859
860 /*Peer MAC*/
861 wpt_macAddr peerMacAddr;
862
863 // TID for which a BA session timeout is being triggered
864 wpt_uint8 baTID;
865 // DELBA direction
866 // 1 - Originator
867 // 0 - Recipient
868 wpt_uint8 baDirection;
869 wpt_uint32 reasonCode;
870 /*MAC ADDR of STA*/
871 wpt_macAddr bssId; // TO SUPPORT BT-AMP
872} WDI_DeleteBAIndType;
873
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700874/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700875 WDI_LowLevelIndType
876 Inidcation type and information about the indication being carried
877 over
878---------------------------------------------------------------------------*/
879typedef struct
880{
881 /*Inidcation type*/
882 WDI_LowLevelIndEnumType wdiIndicationType;
883
884 /*Indication data*/
885 union
886 {
887 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
888 WDI_LowRSSIThIndType wdiLowRSSIInfo;
889
890 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
891 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
892
893 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
894 WDI_MicFailureIndType wdiMICFailureInfo;
895
896 /*Error code for WDI_FATAL_ERROR_IND*/
897 wpt_uint16 usErrorCode;
898
899 /*Delete STA Indication*/
900 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
901
902 /*Coex Indication*/
903 WDI_CoexIndType wdiCoexInfo;
904
905 /* Tx Complete Indication */
906 wpt_uint32 tx_complete_status;
907
Jeff Johnson295189b2012-06-20 16:38:30 -0700908 /* P2P NOA ATTR Indication */
909 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800910 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530911 /* TDLS Indications */
912 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700913
914
915#ifdef FEATURE_WLAN_SCAN_PNO
916 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
917#endif // FEATURE_WLAN_SCAN_PNO
918
919#ifdef WLAN_WAKEUP_EVENTS
920 WDI_WakeReasonIndType wdiWakeReasonInd;
921#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800922 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700923
Leo Chang9056f462013-08-01 19:21:11 -0700924#ifdef FEATURE_WLAN_LPHB
925 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
926#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700927
928 /* IBSS Peer Inactivity Indication */
929 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
930
Yue Mab9c86f42013-08-14 15:59:08 -0700931 /* Periodic TX Pattern FW Indication */
932 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530933
934#ifdef FEATURE_WLAN_BATCH_SCAN
935 /*batch scan result indication from FW*/
936 void *pBatchScanResult;
937#endif
938
Leo Chang0b0e45a2013-12-15 15:18:55 -0800939#ifdef FEATURE_WLAN_CH_AVOID
940 WDI_ChAvoidIndType wdiChAvoidInd;
941#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530942
943#ifdef WLAN_FEATURE_LINK_LAYER_STATS
944 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530945 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530946#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530947#ifdef WLAN_FEATURE_EXTSCAN
948 /*EXTSCAN Results from FW*/
949 void *pEXTScanIndData;
950#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530951 WDI_DeleteBAIndType wdiDeleteBAInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700952 } wdiIndicationData;
953}WDI_LowLevelIndType;
954
955/*---------------------------------------------------------------------------
956 WDI_LowLevelIndCBType
957
958 DESCRIPTION
959
960 This callback is invoked by DAL to deliver to UMAC certain indications
961 that has either received from the lower device or has generated itself.
962
963 PARAMETERS
964
965 IN
966 pwdiInd: information about the indication sent over
967 pUserData: user data provided by UMAC during registration
968
969
970
971 RETURN VALUE
972 The result code associated with performing the operation
973---------------------------------------------------------------------------*/
974typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
975 void* pUserData);
976
977/*---------------------------------------------------------------------------
978 WDI_DriverType
979---------------------------------------------------------------------------*/
980typedef enum
981{
982 WDI_DRIVER_TYPE_PRODUCTION = 0,
983 WDI_DRIVER_TYPE_MFG = 1,
984 WDI_DRIVER_TYPE_DVT = 2
985} WDI_DriverType;
986
987/*---------------------------------------------------------------------------
988 WDI_StartReqParamsType
989---------------------------------------------------------------------------*/
990typedef struct
991{
992 /*This is a TLV formatted buffer containing all config values that can
993 be set through the DAL Interface
994
995 The TLV is expected to be formatted like this:
996
997 0 7 15 31 ....
998 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
999
1000 Or from a C construct point of VU it would look like this:
1001
1002 typedef struct WPT_PACK_POST
1003 {
1004 #ifdef WPT_BIG_ENDIAN
1005 wpt_uint32 ucCfgId:8;
1006 wpt_uint32 ucCfgLen:8;
1007 wpt_uint32 usReserved:16;
1008 #else
1009 wpt_uint32 usReserved:16;
1010 wpt_uint32 ucCfgLen:8;
1011 wpt_uint32 ucCfgId:8;
1012 #endif
1013
1014 wpt_uint8 ucCfgBody[ucCfgLen];
1015 }WDI_ConfigType;
1016
1017 Multiple such tuplets are to be placed in the config buffer. One for
1018 each required configuration item:
1019
1020 | TLV 1 | TLV2 | ....
1021
1022 The buffer is expected to be a flat area of memory that can be manipulated
1023 with standard memory routines.
1024
1025 For more info please check paragraph 2.3.1 Config Structure from the
1026 HAL LLD.
1027
1028 For a list of accepted configuration list and IDs please look up
1029 wlan_qct_dal_cfg.h
1030
1031 */
1032 void* pConfigBuffer;
1033
1034 /*Length of the config buffer above*/
1035 wpt_uint16 usConfigBufferLen;
1036
1037 /*Production or FTM driver*/
1038 WDI_DriverType wdiDriverType;
1039
1040 /*Should device enable frame translation */
1041 wpt_uint8 bFrameTransEnabled;
1042
1043 /*Request status callback offered by UMAC - it is called if the current
1044 req has returned PENDING as status; it delivers the status of sending
1045 the message over the BUS */
1046 WDI_ReqStatusCb wdiReqStatusCB;
1047
1048 /*The user data passed in by UMAC, it will be sent back when the above
1049 function pointer will be called */
1050 void* pUserData;
1051
1052 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1053 wishes to send something back independent of a request*/
1054 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1055
1056 /*The user data passed in by UMAC, it will be sent back when the indication
1057 function pointer will be called */
1058 void* pIndUserData;
1059}WDI_StartReqParamsType;
1060
1061
1062/*---------------------------------------------------------------------------
1063 WDI_StartRspParamsType
1064---------------------------------------------------------------------------*/
1065typedef struct
1066{
1067 /*Status of the response*/
1068 WDI_Status wdiStatus;
1069
1070 /*Max number of STA supported by the device*/
1071 wpt_uint8 ucMaxStations;
1072
1073 /*Max number of BSS supported by the device*/
1074 wpt_uint8 ucMaxBssids;
1075
1076 /*Version of the WLAN HAL API with which we were compiled*/
1077 WDI_WlanVersionType wlanCompiledVersion;
1078
1079 /*Version of the WLAN HAL API that was reported*/
1080 WDI_WlanVersionType wlanReportedVersion;
1081
1082 /*WCNSS Software version string*/
1083 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1084
1085 /*WCNSS Hardware version string*/
1086 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1087}WDI_StartRspParamsType;
1088
1089
1090/*---------------------------------------------------------------------------
1091 WDI_StopType
1092---------------------------------------------------------------------------*/
1093typedef enum
1094{
1095 /*Device is being stopped due to a reset*/
1096 WDI_STOP_TYPE_SYS_RESET,
1097
1098 /*Device is being stopped due to entering deep sleep*/
1099 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1100
1101 /*Device is being stopped because the RF needs to shut off
1102 (e.g.:Airplane mode)*/
1103 WDI_STOP_TYPE_RF_KILL
1104}WDI_StopType;
1105
1106/*---------------------------------------------------------------------------
1107 WDI_StopReqParamsType
1108---------------------------------------------------------------------------*/
1109typedef struct
1110{
1111
1112 /*The reason for which the device is being stopped*/
1113 WDI_StopType wdiStopReason;
1114
1115 /*Request status callback offered by UMAC - it is called if the current
1116 req has returned PENDING as status; it delivers the status of sending
1117 the message over the BUS */
1118 WDI_ReqStatusCb wdiReqStatusCB;
1119
1120 /*The user data passed in by UMAC, it will be sent back when the above
1121 function pointer will be called */
1122 void* pUserData;
1123}WDI_StopReqParamsType;
1124
1125
1126/*---------------------------------------------------------------------------
1127 WDI_ScanMode
1128---------------------------------------------------------------------------*/
1129typedef enum
1130{
1131 WDI_SCAN_MODE_NORMAL = 0,
1132 WDI_SCAN_MODE_LEARN,
1133 WDI_SCAN_MODE_SCAN,
1134 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001135 WDI_SCAN_MODE_SUSPEND_LINK,
1136 WDI_SCAN_MODE_ROAM_SCAN,
1137 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1138
Jeff Johnson295189b2012-06-20 16:38:30 -07001139} WDI_ScanMode;
1140
1141/*---------------------------------------------------------------------------
1142 WDI_ScanEntry
1143---------------------------------------------------------------------------*/
1144typedef struct
1145{
1146 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1147 wpt_uint8 activeBSScnt;
1148}WDI_ScanEntry;
1149
1150/*---------------------------------------------------------------------------
1151 WDI_InitScanReqInfoType
1152---------------------------------------------------------------------------*/
1153typedef struct
1154{
1155 /*LEARN - AP Role
1156 SCAN - STA Role*/
1157 WDI_ScanMode wdiScanMode;
1158
1159 /*BSSID of the BSS*/
1160 wpt_macAddr macBSSID;
1161
1162 /*Whether BSS needs to be notified*/
1163 wpt_boolean bNotifyBSS;
1164
1165 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1166 CTS to Self). Must always be a valid frame type.*/
1167 wpt_uint8 ucFrameType;
1168
1169 /*UMAC has the option of passing the MAC frame to be used for notifying
1170 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1171 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1172 frameType.*/
1173 wpt_uint8 ucFrameLength;
1174
1175 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1176 WDI_MacMgmtHdr wdiMACMgmtHdr;
1177
1178 /*Entry to hold number of active BSS to send NULL frames before
1179 * initiating SCAN*/
1180 WDI_ScanEntry wdiScanEntry;
1181
1182 /* Flag to enable/disable Single NOA*/
1183 wpt_boolean bUseNOA;
1184
1185 /* Indicates the scan duration (in ms) */
1186 wpt_uint16 scanDuration;
1187
1188}WDI_InitScanReqInfoType;
1189
1190/*---------------------------------------------------------------------------
1191 WDI_InitScanReqParamsType
1192---------------------------------------------------------------------------*/
1193typedef struct
1194{
1195 /*The info associated with the request that needs to be sent over to the
1196 device*/
1197 WDI_InitScanReqInfoType wdiReqInfo;
1198
1199 /*Request status callback offered by UMAC - it is called if the current
1200 req has returned PENDING as status; it delivers the status of sending
1201 the message over the BUS */
1202 WDI_ReqStatusCb wdiReqStatusCB;
1203
1204 /*The user data passed in by UMAC, it will be sent back when the above
1205 function pointer will be called */
1206 void* pUserData;
1207}WDI_InitScanReqParamsType;
1208
1209/*---------------------------------------------------------------------------
1210 WDI_StartScanReqParamsType
1211---------------------------------------------------------------------------*/
1212typedef struct
1213{
1214 /*Indicates the channel to scan*/
1215 wpt_uint8 ucChannel;
1216
1217 /*Request status callback offered by UMAC - it is called if the current
1218 req has returned PENDING as status; it delivers the status of sending
1219 the message over the BUS */
1220 WDI_ReqStatusCb wdiReqStatusCB;
1221
1222 /*The user data passed in by UMAC, it will be sent back when the above
1223 function pointer will be called */
1224 void* pUserData;
1225}WDI_StartScanReqParamsType;
1226
1227/*---------------------------------------------------------------------------
1228 WDI_StartScanRspParamsType
1229---------------------------------------------------------------------------*/
1230typedef struct
1231{
1232 /*Indicates the status of the operation */
1233 WDI_Status wdiStatus;
1234
1235#if defined WLAN_FEATURE_VOWIFI
1236 wpt_uint32 aStartTSF[2];
1237 wpt_int8 ucTxMgmtPower;
1238#endif
1239}WDI_StartScanRspParamsType;
1240
1241/*---------------------------------------------------------------------------
1242 WDI_EndScanReqParamsType
1243---------------------------------------------------------------------------*/
1244typedef struct
1245{
1246 /*Indicates the channel to stop scanning. Not used really. But retained
1247 for symmetry with "start Scan" message. It can also help in error
1248 check if needed.*/
1249 wpt_uint8 ucChannel;
1250
1251 /*Request status callback offered by UMAC - it is called if the current
1252 req has returned PENDING as status; it delivers the status of sending
1253 the message over the BUS */
1254 WDI_ReqStatusCb wdiReqStatusCB;
1255
1256 /*The user data passed in by UMAC, it will be sent back when the above
1257 function pointer will be called */
1258 void* pUserData;
1259}WDI_EndScanReqParamsType;
1260
1261/*---------------------------------------------------------------------------
1262 WDI_PhyChanBondState
1263---------------------------------------------------------------------------*/
1264typedef enum
1265{
1266 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1267 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1268 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001269 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1270#ifdef WLAN_FEATURE_11AC
1271 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1272 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1273 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1274 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1275 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1276 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1277 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1278#endif
1279 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001280} WDI_PhyChanBondState;
1281
1282/*---------------------------------------------------------------------------
1283 WDI_FinishScanReqInfoType
1284---------------------------------------------------------------------------*/
1285typedef struct
1286{
1287 /*LEARN - AP Role
1288 SCAN - STA Role*/
1289 WDI_ScanMode wdiScanMode;
1290
1291 /*Operating channel to tune to.*/
1292 wpt_uint8 ucCurrentOperatingChannel;
1293
1294 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1295 40 MHz extension channel in combination with the control channel*/
1296 WDI_PhyChanBondState wdiCBState;
1297
1298 /*BSSID of the BSS*/
1299 wpt_macAddr macBSSID;
1300
1301 /*Whether BSS needs to be notified*/
1302 wpt_boolean bNotifyBSS;
1303
1304 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1305 CTS to Self). Must always be a valid frame type.*/
1306 wpt_uint8 ucFrameType;
1307
1308 /*UMAC has the option of passing the MAC frame to be used for notifying
1309 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1310 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1311 frameType.*/
1312 wpt_uint8 ucFrameLength;
1313
1314 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1315 WDI_MacMgmtHdr wdiMACMgmtHdr;
1316
1317 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1318 WDI_ScanEntry wdiScanEntry;
1319
1320}WDI_FinishScanReqInfoType;
1321
1322/*---------------------------------------------------------------------------
1323 WDI_SwitchChReqInfoType
1324---------------------------------------------------------------------------*/
1325typedef struct
1326{
1327 /*Indicates the channel to switch to.*/
1328 wpt_uint8 ucChannel;
1329
1330 /*Local power constraint*/
1331 wpt_uint8 ucLocalPowerConstraint;
1332
1333 /*Secondary channel offset */
1334 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1335
1336#ifdef WLAN_FEATURE_VOWIFI
1337 wpt_int8 cMaxTxPower;
1338
1339 /*Self STA Mac address*/
1340 wpt_macAddr macSelfStaMacAddr;
1341#endif
1342 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1343 request has power constraints, this should be applied only to that session */
1344 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1345 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1346 */
1347 wpt_macAddr macBSSId;
1348
1349}WDI_SwitchChReqInfoType;
1350
1351/*---------------------------------------------------------------------------
1352 WDI_SwitchChReqParamsType
1353---------------------------------------------------------------------------*/
1354typedef struct
1355{
1356 /*Channel Info*/
1357 WDI_SwitchChReqInfoType wdiChInfo;
1358
1359 /*Request status callback offered by UMAC - it is called if the current
1360 req has returned PENDING as status; it delivers the status of sending
1361 the message over the BUS */
1362 WDI_ReqStatusCb wdiReqStatusCB;
1363
1364 /*The user data passed in by UMAC, it will be sent back when the above
1365 function pointer will be called */
1366 void* pUserData;
1367}WDI_SwitchChReqParamsType;
1368
1369/*---------------------------------------------------------------------------
1370 WDI_FinishScanReqParamsType
1371---------------------------------------------------------------------------*/
1372typedef struct
1373{
1374 /*Info for the Finish Scan request that will be sent down to the device*/
1375 WDI_FinishScanReqInfoType wdiReqInfo;
1376
1377 /*Request status callback offered by UMAC - it is called if the current
1378 req has returned PENDING as status; it delivers the status of sending
1379 the message over the BUS */
1380 WDI_ReqStatusCb wdiReqStatusCB;
1381
1382 /*The user data passed in by UMAC, it will be sent back when the above
1383 function pointer will be called */
1384 void* pUserData;
1385}WDI_FinishScanReqParamsType;
1386
1387/*---------------------------------------------------------------------------
1388 WDI_JoinReqInfoType
1389---------------------------------------------------------------------------*/
1390typedef struct
1391{
1392 /*Indicates the BSSID to which STA is going to associate*/
1393 wpt_macAddr macBSSID;
1394
1395 /*Indicates the MAC Address of the current Self STA*/
1396 wpt_macAddr macSTASelf;
1397
1398 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1399 wpt_uint32 linkState;
1400
1401 /*Indicates the channel to switch to.*/
1402 WDI_SwitchChReqInfoType wdiChannelInfo;
1403
1404}WDI_JoinReqInfoType;
1405
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001406typedef enum
1407{
1408 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1409 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1410 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1411 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1412 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1413} WDI_ChanSwitchSource;
1414
1415/*---------------------------------------------------------------------------
1416 WDI_SwitchChReqInfoType_V1
1417---------------------------------------------------------------------------*/
1418typedef struct
1419{
1420 /*Indicates the channel to switch to.*/
1421 wpt_uint8 ucChannel;
1422
1423 /*Local power constraint*/
1424 wpt_uint8 ucLocalPowerConstraint;
1425
1426 /*Secondary channel offset */
1427 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1428
1429#ifdef WLAN_FEATURE_VOWIFI
1430 wpt_int8 cMaxTxPower;
1431 /*Self STA Mac address*/
1432 wpt_macAddr macSelfStaMacAddr;
1433#endif
1434 /* VO Wifi comment: BSSID is needed to identify which session
1435 issued this request. As the request has power constraints, this
1436 should be applied only to that session
1437 */
1438 /* V IMP: Keep bssId field at the end of this msg. It is used to
1439 maintain backward compatibility by way of ignoring if using new
1440 host/old FW or old host/new FW since it is at the end of this struct
1441 */
1442 wpt_macAddr macBSSId;
1443 /* Source of Channel Switch */
1444 WDI_ChanSwitchSource channelSwitchSrc;
1445}WDI_SwitchChReqInfoType_V1;
1446
1447/*--------------------------------------------------------------------
1448 WDI_SwitchChReqParamsType_V1
1449----------------------------------------------------------------------*/
1450typedef struct
1451{
1452 /*Channel Info*/
1453 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1454
1455 /*Request status callback offered by UMAC - it is called if the current
1456 req has returned PENDING as status; it delivers the status of sending
1457 the message over the BUS */
1458 WDI_ReqStatusCb wdiReqStatusCB;
1459
1460 /*The user data passed in by UMAC, it will be sent back when the above
1461 function pointer will be called */
1462 void* pUserData;
1463}WDI_SwitchChReqParamsType_V1;
1464
Jeff Johnson295189b2012-06-20 16:38:30 -07001465/*---------------------------------------------------------------------------
1466 WDI_JoinReqParamsType
1467---------------------------------------------------------------------------*/
1468typedef struct
1469{
1470 /*Info for the Join request that will be sent down to the device*/
1471 WDI_JoinReqInfoType wdiReqInfo;
1472
1473 /*Request status callback offered by UMAC - it is called if the current
1474 req has returned PENDING as status; it delivers the status of sending
1475 the message over the BUS */
1476 WDI_ReqStatusCb wdiReqStatusCB;
1477
1478 /*The user data passed in by UMAC, it will be sent back when the above
1479 function pointer will be called */
1480 void* pUserData;
1481}WDI_JoinReqParamsType;
1482
1483/*---------------------------------------------------------------------------
1484 WDI_BssType
1485---------------------------------------------------------------------------*/
1486typedef enum
1487{
1488 WDI_INFRASTRUCTURE_MODE,
1489 WDI_INFRA_AP_MODE, //Added for softAP support
1490 WDI_IBSS_MODE,
1491 WDI_BTAMP_STA_MODE,
1492 WDI_BTAMP_AP_MODE,
1493 WDI_BSS_AUTO_MODE,
1494}WDI_BssType;
1495
1496/*---------------------------------------------------------------------------
1497 WDI_NwType
1498---------------------------------------------------------------------------*/
1499typedef enum
1500{
1501 WDI_11A_NW_TYPE,
1502 WDI_11B_NW_TYPE,
1503 WDI_11G_NW_TYPE,
1504 WDI_11N_NW_TYPE,
1505} WDI_NwType;
1506
1507/*---------------------------------------------------------------------------
1508 WDI_ConfigAction
1509---------------------------------------------------------------------------*/
1510typedef enum
1511{
1512 WDI_ADD_BSS,
1513 WDI_UPDATE_BSS
1514} WDI_ConfigAction;
1515
1516/*---------------------------------------------------------------------------
1517 WDI_HTOperatingMode
1518---------------------------------------------------------------------------*/
1519typedef enum
1520{
1521 WDI_HT_OP_MODE_PURE,
1522 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1523 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1524 WDI_HT_OP_MODE_MIXED
1525
1526} WDI_HTOperatingMode;
1527
1528
1529/*---------------------------------------------------------------------------
1530 WDI_STAEntryType
1531---------------------------------------------------------------------------*/
1532typedef enum
1533{
1534 WDI_STA_ENTRY_SELF,
1535 WDI_STA_ENTRY_PEER,
1536 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001537 WDI_STA_ENTRY_BCAST,
1538#ifdef FEATURE_WLAN_TDLS
1539 WDI_STA_ENTRY_TDLS_PEER,
1540#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001541}WDI_STAEntryType;
1542
1543/*---------------------------------------------------------------------------
1544 WDI_ConfigActionType
1545---------------------------------------------------------------------------*/
1546typedef enum
1547{
1548 WDI_ADD_STA,
1549 WDI_UPDATE_STA
1550} WDI_ConfigActionType;
1551
1552/*----------------------------------------------------------------------------
1553 Each station added has a rate mode which specifies the sta attributes
1554 ----------------------------------------------------------------------------*/
1555typedef enum
1556{
1557 WDI_RESERVED_1 = 0,
1558 WDI_RESERVED_2,
1559 WDI_RESERVED_3,
1560 WDI_11b,
1561 WDI_11bg,
1562 WDI_11a,
1563 WDI_11n,
1564} WDI_RateModeType;
1565
1566/*---------------------------------------------------------------------------
1567 WDI_SupportedRatesType
1568---------------------------------------------------------------------------*/
1569typedef struct
1570{
1571 /*
1572 * For Self STA Entry: this represents Self Mode.
1573 * For Peer Stations, this represents the mode of the peer.
1574 * On Station:
1575 * --this mode is updated when PE adds the Self Entry.
1576 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1577 * ON AP:
1578 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1579 * to indicate the self mode of the AP.
1580 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1581 */
1582
1583 WDI_RateModeType opRateMode;
1584
1585 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1586 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1587 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1588 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1589
1590 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1591 First 26 bits are reserved for those Titan rates and
1592 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1593 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1594
1595 /*
1596 * 0-76 bits used, remaining reserved
1597 * bits 0-15 and 32 should be set.
1598 */
1599 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1600
1601 /*
1602 * RX Highest Supported Data Rate defines the highest data
1603 * rate that the STA is able to receive, in unites of 1Mbps.
1604 * This value is derived from "Supported MCS Set field" inside
1605 * the HT capability element.
1606 */
1607 wpt_uint16 aRxHighestDataRate;
1608
Jeff Johnsone7245742012-09-05 17:12:55 -07001609
1610#ifdef WLAN_FEATURE_11AC
1611 /*Indicates the Maximum MCS that can be received for each number
1612 of spacial streams */
1613 wpt_uint16 vhtRxMCSMap;
1614 /*Indicate the highest VHT data rate that the STA is able to receive*/
1615 wpt_uint16 vhtRxHighestDataRate;
1616 /*Indicates the Maximum MCS that can be transmitted for each number
1617 of spacial streams */
1618 wpt_uint16 vhtTxMCSMap;
1619 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1620 wpt_uint16 vhtTxHighestDataRate;
1621#endif
1622
Jeff Johnson295189b2012-06-20 16:38:30 -07001623} WDI_SupportedRates;
1624
1625/*--------------------------------------------------------------------------
1626 WDI_HTMIMOPowerSaveState
1627 Spatial Multiplexing(SM) Power Save mode
1628 --------------------------------------------------------------------------*/
1629typedef enum
1630{
1631 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1632 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1633 WDI_HT_MIMO_PS_NA = 2, // reserved
1634 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1635} WDI_HTMIMOPowerSaveState;
1636
1637/*---------------------------------------------------------------------------
1638 WDI_ConfigStaReqInfoType
1639---------------------------------------------------------------------------*/
1640typedef struct
1641{
1642 /*BSSID of STA*/
1643 wpt_macAddr macBSSID;
1644
1645 /*ASSOC ID, as assigned by UMAC*/
1646 wpt_uint16 usAssocId;
1647
1648 /*Used for configuration of different HW modules.*/
1649 WDI_STAEntryType wdiSTAType;
1650
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001651 /*STA Index */
1652 wpt_uint8 staIdx;
1653
Jeff Johnson295189b2012-06-20 16:38:30 -07001654 /*Short Preamble Supported.*/
1655 wpt_uint8 ucShortPreambleSupported;
1656
1657 /*MAC Address of STA*/
1658 wpt_macAddr macSTA;
1659
1660 /*Listen interval of the STA*/
1661 wpt_uint16 usListenInterval;
1662
1663 /*Support for 11e/WMM*/
1664 wpt_uint8 ucWMMEnabled;
1665
1666 /*11n HT capable STA*/
1667 wpt_uint8 ucHTCapable;
1668
1669 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1670 wpt_uint8 ucTXChannelWidthSet;
1671
1672 /*RIFS mode 0 - NA, 1 - Allowed*/
1673 wpt_uint8 ucRIFSMode;
1674
1675 /*L-SIG TXOP Protection mechanism
1676 0 - No Support, 1 - Supported
1677 SG - there is global field*/
1678 wpt_uint8 ucLSIGTxopProtection;
1679
1680 /*Max Ampdu Size supported by STA. Device programming.
1681 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1682 wpt_uint8 ucMaxAmpduSize;
1683
1684 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1685 wpt_uint8 ucMaxAmpduDensity;
1686
1687 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1688 wpt_uint8 ucMaxAmsduSize;
1689
1690 /*Short GI support for 40Mhz packets*/
1691 wpt_uint8 ucShortGI40Mhz;
1692
1693 /*Short GI support for 20Mhz packets*/
1694 wpt_uint8 ucShortGI20Mhz;
1695
1696 /*These rates are the intersection of peer and self capabilities.*/
1697 WDI_SupportedRates wdiSupportedRates;
1698
1699 /*Robust Management Frame (RMF) enabled/disabled*/
1700 wpt_uint8 ucRMFEnabled;
1701
1702 /* The unicast encryption type in the association */
1703 wpt_uint32 ucEncryptType;
1704
1705 /*HAL should update the existing STA entry, if this flag is set. UMAC
1706 will set this flag in case of RE-ASSOC, where we want to reuse the old
1707 STA ID.*/
1708 WDI_ConfigActionType wdiAction;
1709
1710 /*U-APSD Flags: 1b per AC. Encoded as follows:
1711 b7 b6 b5 b4 b3 b2 b1 b0 =
1712 X X X X BE BK VI VO
1713 */
1714 wpt_uint8 ucAPSD;
1715
1716 /*Max SP Length*/
1717 wpt_uint8 ucMaxSPLen;
1718
1719 /*11n Green Field preamble support*/
1720 wpt_uint8 ucGreenFieldCapable;
1721
1722 /*MIMO Power Save mode*/
1723 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1724
1725 /*Delayed BA Support*/
1726 wpt_uint8 ucDelayedBASupport;
1727
1728 /*Max AMPDU duration in 32us*/
1729 wpt_uint8 us32MaxAmpduDuratio;
1730
1731 /*HT STA should set it to 1 if it is enabled in BSS
1732 HT STA should set it to 0 if AP does not support it. This indication is
1733 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1734 */
1735 wpt_uint8 ucDsssCckMode40Mhz;
1736
1737 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001738#ifdef WLAN_FEATURE_11AC
1739 wpt_uint8 ucVhtCapableSta;
1740 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001741 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301742 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001743#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001744
1745 wpt_uint8 ucHtLdpcEnabled;
1746 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001747}WDI_ConfigStaReqInfoType;
1748
1749
1750/*---------------------------------------------------------------------------
1751 WDI_RateSet
1752
1753 12 Bytes long because this structure can be used to represent rate
1754 and extended rate set IEs
1755 The parser assume this to be at least 12
1756---------------------------------------------------------------------------*/
1757#define WDI_RATESET_EID_MAX 12
1758
1759typedef struct
1760{
1761 wpt_uint8 ucNumRates;
1762 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1763} WDI_RateSet;
1764
1765/*---------------------------------------------------------------------------
1766 WDI_AciAifsnType
1767 access category record
1768---------------------------------------------------------------------------*/
1769typedef struct
1770{
1771 wpt_uint8 rsvd : 1;
1772 wpt_uint8 aci : 2;
1773 wpt_uint8 acm : 1;
1774 wpt_uint8 aifsn : 4;
1775} WDI_AciAifsnType;
1776
1777/*---------------------------------------------------------------------------
1778 WDI_CWType
1779 contention window size
1780---------------------------------------------------------------------------*/
1781typedef struct
1782{
1783 wpt_uint8 max : 4;
1784 wpt_uint8 min : 4;
1785} WDI_CWType;
1786
1787/*---------------------------------------------------------------------------
1788 WDI_EdcaParamRecord
1789---------------------------------------------------------------------------*/
1790typedef struct
1791{
1792 /*Access Category Record*/
1793 WDI_AciAifsnType wdiACI;
1794
1795 /*Contention WIndow Size*/
1796 WDI_CWType wdiCW;
1797
1798 /*TX Oportunity Limit*/
1799 wpt_uint16 usTXOPLimit;
1800} WDI_EdcaParamRecord;
1801
1802/*---------------------------------------------------------------------------
1803 WDI_EDCAParamsType
1804---------------------------------------------------------------------------*/
1805typedef struct
1806{
1807 /*BSS Index*/
1808 wpt_uint8 ucBSSIdx;
1809
1810 /*?*/
1811 wpt_boolean bHighPerformance;
1812
1813 /*Best Effort*/
1814 WDI_EdcaParamRecord wdiACBE;
1815
1816 /*Background*/
1817 WDI_EdcaParamRecord wdiACBK;
1818
1819 /*Video*/
1820 WDI_EdcaParamRecord wdiACVI;
1821
1822 /*Voice*/
1823 WDI_EdcaParamRecord acvo; // voice
1824} WDI_EDCAParamsType;
1825
1826/* operMode in ADD BSS message */
1827#define WDI_BSS_OPERATIONAL_MODE_AP 0
1828#define WDI_BSS_OPERATIONAL_MODE_STA 1
1829
1830/*---------------------------------------------------------------------------
1831 WDI_ConfigBSSRspParamsType
1832---------------------------------------------------------------------------*/
1833typedef struct
1834{
1835 /*Status of the response*/
1836 WDI_Status wdiStatus;
1837
1838 /*BSSID of the BSS*/
1839 wpt_macAddr macBSSID;
1840
1841 /*BSS Index*/
1842 wpt_uint8 ucBSSIdx;
1843
1844 /*Unicast DPU signature*/
1845 wpt_uint8 ucUcastSig;
1846
1847 /*Broadcast DPU Signature*/
1848 wpt_uint8 ucBcastSig;
1849
1850 /*MAC Address of STA*/
1851 wpt_macAddr macSTA;
1852
1853 /*BSS STA ID*/
1854 wpt_uint8 ucSTAIdx;
1855
1856#ifdef WLAN_FEATURE_VOWIFI
1857 /*HAL fills in the tx power used for mgmt frames in this field */
1858 wpt_int8 ucTxMgmtPower;
1859#endif
1860
1861}WDI_ConfigBSSRspParamsType;
1862
1863/*---------------------------------------------------------------------------
1864 WDI_DelBSSReqParamsType
1865---------------------------------------------------------------------------*/
1866typedef struct
1867{
1868 /*BSS Index of the BSS*/
1869 wpt_uint8 ucBssIdx;
1870
1871 /*Request status callback offered by UMAC - it is called if the current
1872 req has returned PENDING as status; it delivers the status of sending
1873 the message over the BUS */
1874 WDI_ReqStatusCb wdiReqStatusCB;
1875
1876 /*The user data passed in by UMAC, it will be sent back when the above
1877 function pointer will be called */
1878 void* pUserData;
1879}WDI_DelBSSReqParamsType;
1880
1881/*---------------------------------------------------------------------------
1882 WDI_DelBSSRspParamsType
1883---------------------------------------------------------------------------*/
1884typedef struct
1885{
1886 /*Status of the response*/
1887 WDI_Status wdiStatus;
1888
1889 /*BSSID of the BSS*/
1890 wpt_macAddr macBSSID;
1891
1892 wpt_uint8 ucBssIdx;
1893
1894}WDI_DelBSSRspParamsType;
1895
1896/*---------------------------------------------------------------------------
1897 WDI_ConfigSTARspParamsType
1898---------------------------------------------------------------------------*/
1899typedef struct
1900{
1901 /*Status of the response*/
1902 WDI_Status wdiStatus;
1903
1904 /*STA Idx allocated by HAL*/
1905 wpt_uint8 ucSTAIdx;
1906
1907 /*MAC Address of STA*/
1908 wpt_macAddr macSTA;
1909
1910 /* BSSID Index of BSS to which the station is associated */
1911 wpt_uint8 ucBssIdx;
1912
1913 /* DPU Index - PTK */
1914 wpt_uint8 ucDpuIndex;
1915
1916 /* Bcast DPU Index - GTK */
1917 wpt_uint8 ucBcastDpuIndex;
1918
1919 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1920 wpt_uint8 ucBcastMgmtDpuIdx;
1921
1922 /*Unicast DPU signature*/
1923 wpt_uint8 ucUcastSig;
1924
1925 /*Broadcast DPU Signature*/
1926 wpt_uint8 ucBcastSig;
1927
1928 /* IGTK DPU signature*/
1929 wpt_uint8 ucMgmtSig;
1930
1931}WDI_ConfigSTARspParamsType;
1932
1933/*---------------------------------------------------------------------------
1934 WDI_PostAssocRspParamsType
1935---------------------------------------------------------------------------*/
1936typedef struct
1937{
1938 /*Status of the response*/
1939 WDI_Status wdiStatus;
1940
1941 /*Parameters related to the BSS*/
1942 WDI_ConfigBSSRspParamsType bssParams;
1943
1944 /*Parameters related to the self STA*/
1945 WDI_ConfigSTARspParamsType staParams;
1946
1947}WDI_PostAssocRspParamsType;
1948
1949/*---------------------------------------------------------------------------
1950 WDI_DelSTAReqParamsType
1951---------------------------------------------------------------------------*/
1952typedef struct
1953{
1954 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1955 wpt_uint8 ucSTAIdx;
1956
1957 /*Request status callback offered by UMAC - it is called if the current
1958 req has returned PENDING as status; it delivers the status of sending
1959 the message over the BUS */
1960 WDI_ReqStatusCb wdiReqStatusCB;
1961
1962 /*The user data passed in by UMAC, it will be sent back when the above
1963 function pointer will be called */
1964 void* pUserData;
1965}WDI_DelSTAReqParamsType;
1966
1967/*---------------------------------------------------------------------------
1968 WDI_DelSTARspParamsType
1969---------------------------------------------------------------------------*/
1970typedef struct
1971{
1972 /*Status of the response*/
1973 WDI_Status wdiStatus;
1974
1975 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1976 wpt_uint8 ucSTAIdx;
1977}WDI_DelSTARspParamsType;
1978
1979/*---------------------------------------------------------------------------
1980 WDI_EncryptType
1981---------------------------------------------------------------------------*/
1982typedef enum
1983{
1984 WDI_ENCR_NONE,
1985 WDI_ENCR_WEP40,
1986 WDI_ENCR_WEP104,
1987 WDI_ENCR_TKIP,
1988 WDI_ENCR_CCMP,
1989#if defined(FEATURE_WLAN_WAPI)
1990 WDI_ENCR_WPI,
1991#endif
1992 WDI_ENCR_AES_128_CMAC
1993} WDI_EncryptType;
1994
1995/*---------------------------------------------------------------------------
1996 WDI_KeyDirectionType
1997---------------------------------------------------------------------------*/
1998typedef enum
1999{
2000 WDI_TX_ONLY,
2001 WDI_RX_ONLY,
2002 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002003 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002004 WDI_DONOT_USE_KEY_DIRECTION
2005} WDI_KeyDirectionType;
2006
2007#define WDI_MAX_ENCR_KEYS 4
2008#define WDI_MAX_KEY_LENGTH 32
2009#if defined(FEATURE_WLAN_WAPI)
2010#define WDI_MAX_KEY_RSC_LEN 16
2011#define WDI_WAPI_KEY_RSC_LEN 16
2012#else
2013#define WDI_MAX_KEY_RSC_LEN 8
2014#endif
2015
2016typedef struct
2017{
2018 /* Key ID */
2019 wpt_uint8 keyId;
2020 /* 0 for multicast */
2021 wpt_uint8 unicast;
2022 /* Key Direction */
2023 WDI_KeyDirectionType keyDirection;
2024 /* Usage is unknown */
2025 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2026 /* =1 for authenticator, =0 for supplicant */
2027 wpt_uint8 paeRole;
2028 wpt_uint16 keyLength;
2029 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2030
2031}WDI_KeysType;
2032
2033/*---------------------------------------------------------------------------
2034 WDI_SetBSSKeyReqInfoType
2035---------------------------------------------------------------------------*/
2036typedef struct
2037{
2038 /*BSS Index of the BSS*/
2039 wpt_uint8 ucBssIdx;
2040
2041 /*Encryption Type used with peer*/
2042 WDI_EncryptType wdiEncType;
2043
2044 /*Number of keys*/
2045 wpt_uint8 ucNumKeys;
2046
2047 /*Array of keys.*/
2048 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2049
2050 /*Control for Replay Count, 1= Single TID based replay count on Tx
2051 0 = Per TID based replay count on TX */
2052 wpt_uint8 ucSingleTidRc;
2053}WDI_SetBSSKeyReqInfoType;
2054
2055/*---------------------------------------------------------------------------
2056 WDI_SetBSSKeyReqParamsType
2057---------------------------------------------------------------------------*/
2058typedef struct
2059{
2060 /*Key Info */
2061 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2062
2063 /*Request status callback offered by UMAC - it is called if the current
2064 req has returned PENDING as status; it delivers the status of sending
2065 the message over the BUS */
2066 WDI_ReqStatusCb wdiReqStatusCB;
2067
2068 /*The user data passed in by UMAC, it will be sent back when the above
2069 function pointer will be called */
2070 void* pUserData;
2071}WDI_SetBSSKeyReqParamsType;
2072
2073/*---------------------------------------------------------------------------
2074 WDI_WepType
2075---------------------------------------------------------------------------*/
2076typedef enum
2077{
2078 WDI_WEP_STATIC,
2079 WDI_WEP_DYNAMIC
2080
2081} WDI_WepType;
2082
2083/*---------------------------------------------------------------------------
2084 WDI_RemoveBSSKeyReqInfoType
2085---------------------------------------------------------------------------*/
2086typedef struct
2087{
2088 /*BSS Index of the BSS*/
2089 wpt_uint8 ucBssIdx;
2090
2091 /*Encryption Type used with peer*/
2092 WDI_EncryptType wdiEncType;
2093
2094 /*Key Id*/
2095 wpt_uint8 ucKeyId;
2096
2097 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2098 keys*/
2099 WDI_WepType wdiWEPType;
2100}WDI_RemoveBSSKeyReqInfoType;
2101
2102/*---------------------------------------------------------------------------
2103 WDI_RemoveBSSKeyReqParamsType
2104---------------------------------------------------------------------------*/
2105typedef struct
2106{
2107 /*Key Info */
2108 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2109
2110 /*Request status callback offered by UMAC - it is called if the current
2111 req has returned PENDING as status; it delivers the status of sending
2112 the message over the BUS */
2113 WDI_ReqStatusCb wdiReqStatusCB;
2114
2115 /*The user data passed in by UMAC, it will be sent back when the above
2116 function pointer will be called */
2117 void* pUserData;
2118}WDI_RemoveBSSKeyReqParamsType;
2119
2120/*---------------------------------------------------------------------------
2121 WDI_SetSTAKeyReqInfoType
2122---------------------------------------------------------------------------*/
2123typedef struct
2124{
2125 /*STA Index*/
2126 wpt_uint8 ucSTAIdx;
2127
2128 /*Encryption Type used with peer*/
2129 WDI_EncryptType wdiEncType;
2130
2131 /*STATIC/DYNAMIC*/
2132 WDI_WepType wdiWEPType;
2133
2134 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2135 wpt_uint8 ucDefWEPIdx;
2136
2137 /*Number of keys*/
2138 wpt_uint8 ucNumKeys;
2139
2140 /*Array of keys.*/
2141 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2142
2143 /*Control for Replay Count, 1= Single TID based replay count on Tx
2144 0 = Per TID based replay count on TX */
2145 wpt_uint8 ucSingleTidRc;
2146}WDI_SetSTAKeyReqInfoType;
2147
2148/*---------------------------------------------------------------------------
2149 WDI_ConfigBSSReqInfoType
2150---------------------------------------------------------------------------*/
2151typedef struct
2152{
2153 /*Peer BSSID*/
2154 wpt_macAddr macBSSID;
2155
2156 /*Self MAC Address*/
2157 wpt_macAddr macSelfAddr;
2158
2159 /*BSS Type*/
2160 WDI_BssType wdiBSSType;
2161
2162 /*Operational Mode: AP =0, STA = 1*/
2163 wpt_uint8 ucOperMode;
2164
2165 /*Network Type*/
2166 WDI_NwType wdiNWType;
2167
2168 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2169 wpt_uint8 ucShortSlotTimeSupported;
2170
2171 /*Co-exist with 11a STA*/
2172 wpt_uint8 ucllaCoexist;
2173
2174 /*Co-exist with 11b STA*/
2175 wpt_uint8 ucllbCoexist;
2176
2177 /*Co-exist with 11g STA*/
2178 wpt_uint8 ucllgCoexist;
2179
2180 /*Coexistence with 11n STA*/
2181 wpt_uint8 ucHT20Coexist;
2182
2183 /*Non GF coexist flag*/
2184 wpt_uint8 ucllnNonGFCoexist;
2185
2186 /*TXOP protection support*/
2187 wpt_uint8 ucTXOPProtectionFullSupport;
2188
2189 /*RIFS mode*/
2190 wpt_uint8 ucRIFSMode;
2191
2192 /*Beacon Interval in TU*/
2193 wpt_uint16 usBeaconInterval;
2194
2195 /*DTIM period*/
2196 wpt_uint8 ucDTIMPeriod;
2197
2198 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2199 wpt_uint8 ucTXChannelWidthSet;
2200
2201 /*Operating channel*/
2202 wpt_uint8 ucCurrentOperChannel;
2203
2204 /*Extension channel for channel bonding*/
2205 wpt_uint8 ucCurrentExtChannel;
2206
2207 /*Context of the station being added in HW.*/
2208 WDI_ConfigStaReqInfoType wdiSTAContext;
2209
2210 /*SSID of the BSS*/
2211 WDI_MacSSid wdiSSID;
2212
2213 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2214 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2215 WDI_ConfigAction wdiAction;
2216
2217 /*Basic Rate Set*/
2218 WDI_RateSet wdiRateSet;
2219
2220 /*Enable/Disable HT capabilities of the BSS*/
2221 wpt_uint8 ucHTCapable;
2222
2223 /* Enable/Disable OBSS protection */
2224 wpt_uint8 ucObssProtEnabled;
2225
2226 /*RMF enabled/disabled*/
2227 wpt_uint8 ucRMFEnabled;
2228
2229 /*Determines the current HT Operating Mode operating mode of the
2230 802.11n STA*/
2231 WDI_HTOperatingMode wdiHTOperMod;
2232
2233 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2234 wpt_uint8 ucDualCTSProtection;
2235
2236 /* Probe Response Max retries */
2237 wpt_uint8 ucMaxProbeRespRetryLimit;
2238
2239 /* To Enable Hidden ssid */
2240 wpt_uint8 bHiddenSSIDEn;
2241
2242 /* To Enable Disable FW Proxy Probe Resp */
2243 wpt_uint8 bProxyProbeRespEn;
2244
2245 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2246 EDCA params or might not desire to apply EDCA params during config BSS.
2247 0 implies Not Valid ; Non-Zero implies valid*/
2248 wpt_uint8 ucEDCAParamsValid;
2249
2250 /*EDCA Parameters for BK*/
2251 WDI_EdcaParamRecord wdiBKEDCAParams;
2252
2253 /*EDCA Parameters for BE*/
2254 WDI_EdcaParamRecord wdiBEEDCAParams;
2255
2256 /*EDCA Parameters for VI*/
2257 WDI_EdcaParamRecord wdiVIEDCAParams;
2258
2259 /*EDCA Parameters for VO*/
2260 WDI_EdcaParamRecord wdiVOEDCAParams;
2261
2262#ifdef WLAN_FEATURE_VOWIFI
2263 /*max power to be used after applying the power constraint, if any */
2264 wpt_int8 cMaxTxPower;
2265#endif
2266
2267 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2268 wpt_uint8 ucPersona;
2269
2270 /* Spectrum Mangement Indicator */
2271 wpt_uint8 bSpectrumMgtEn;
2272
2273#ifdef WLAN_FEATURE_VOWIFI_11R
2274 wpt_uint8 bExtSetStaKeyParamValid;
2275 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2276#endif
2277
Jeff Johnsone7245742012-09-05 17:12:55 -07002278#ifdef WLAN_FEATURE_11AC
2279 wpt_uint8 ucVhtCapableSta;
2280 wpt_uint8 ucVhtTxChannelWidthSet;
2281#endif
2282
Jeff Johnson295189b2012-06-20 16:38:30 -07002283}WDI_ConfigBSSReqInfoType;
2284
2285/*---------------------------------------------------------------------------
2286 WDI_PostAssocReqParamsType
2287---------------------------------------------------------------------------*/
2288typedef struct
2289{
2290 /*Config STA arguments.*/
2291 WDI_ConfigStaReqInfoType wdiSTAParams;
2292
2293 /*Config BSS Arguments*/
2294 WDI_ConfigBSSReqInfoType wdiBSSParams;
2295
2296 /*Request status callback offered by UMAC - it is called if the current
2297 req has returned PENDING as status; it delivers the status of sending
2298 the message over the BUS */
2299 WDI_ReqStatusCb wdiReqStatusCB;
2300
2301 /*The user data passed in by UMAC, it will be sent back when the above
2302 function pointer will be called */
2303 void* pUserData;
2304}WDI_PostAssocReqParamsType;
2305
2306/*---------------------------------------------------------------------------
2307 WDI_ConfigBSSReqParamsType
2308---------------------------------------------------------------------------*/
2309typedef struct
2310{
2311 /*Info for the Join request that will be sent down to the device*/
2312 WDI_ConfigBSSReqInfoType wdiReqInfo;
2313
2314 /*Request status callback offered by UMAC - it is called if the current
2315 req has returned PENDING as status; it delivers the status of sending
2316 the message over the BUS */
2317 WDI_ReqStatusCb wdiReqStatusCB;
2318
2319 /*The user data passed in by UMAC, it will be sent back when the above
2320 function pointer will be called */
2321 void* pUserData;
2322}WDI_ConfigBSSReqParamsType;
2323
2324/*---------------------------------------------------------------------------
2325 WDI_SetSTAKeyReqParamsType
2326---------------------------------------------------------------------------*/
2327typedef struct
2328{
2329 /*Key Info*/
2330 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2331
2332 /*Request status callback offered by UMAC - it is called if the current
2333 req has returned PENDING as status; it delivers the status of sending
2334 the message over the BUS */
2335 WDI_ReqStatusCb wdiReqStatusCB;
2336
2337 /*The user data passed in by UMAC, it will be sent back when the above
2338 function pointer will be called */
2339 void* pUserData;
2340}WDI_SetSTAKeyReqParamsType;
2341
2342/*---------------------------------------------------------------------------
2343 WDI_RemoveSTAKeyReqInfoType
2344---------------------------------------------------------------------------*/
2345typedef struct
2346{
2347 /*STA Index*/
2348 wpt_uint8 ucSTAIdx;
2349
2350 /*Encryption Type used with peer*/
2351 WDI_EncryptType wdiEncType;
2352
2353 /*Key Id*/
2354 wpt_uint8 ucKeyId;
2355
2356 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2357 the same key is used for both broadcast and unicast.*/
2358 wpt_uint8 ucUnicast;
2359}WDI_RemoveSTAKeyReqInfoType;
2360
2361/*---------------------------------------------------------------------------
2362 WDI_RemoveSTAKeyReqParamsType
2363---------------------------------------------------------------------------*/
2364typedef struct
2365{
2366 /*Key Info */
2367 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2368
2369 /*Request status callback offered by UMAC - it is called if the current
2370 req has returned PENDING as status; it delivers the status of sending
2371 the message over the BUS */
2372 WDI_ReqStatusCb wdiReqStatusCB;
2373
2374 /*The user data passed in by UMAC, it will be sent back when the above
2375 function pointer will be called */
2376 void* pUserData;
2377}WDI_RemoveSTAKeyReqParamsType;
2378
2379/*---------------------------------------------------------------------------
2380 QOS Parameters
2381---------------------------------------------------------------------------*/
2382
2383/*---------------------------------------------------------------------------
2384 WDI_TSInfoTfc
2385---------------------------------------------------------------------------*/
2386typedef struct
2387{
2388 wpt_uint16 ackPolicy:2;
2389 wpt_uint16 userPrio:3;
2390 wpt_uint16 psb:1;
2391 wpt_uint16 aggregation : 1;
2392 wpt_uint16 accessPolicy : 2;
2393 wpt_uint16 direction : 2;
2394 wpt_uint16 tsid : 4;
2395 wpt_uint16 trafficType : 1;
2396} WDI_TSInfoTfc;
2397
2398/*---------------------------------------------------------------------------
2399 WDI_TSInfoSch
2400---------------------------------------------------------------------------*/
2401typedef struct
2402{
2403 wpt_uint8 rsvd : 7;
2404 wpt_uint8 schedule : 1;
2405} WDI_TSInfoSch;
2406
2407/*---------------------------------------------------------------------------
2408 WDI_TSInfoType
2409---------------------------------------------------------------------------*/
2410typedef struct
2411{
2412 WDI_TSInfoTfc wdiTraffic;
2413 WDI_TSInfoSch wdiSchedule;
2414} WDI_TSInfoType;
2415
2416/*---------------------------------------------------------------------------
2417 WDI_TspecIEType
2418---------------------------------------------------------------------------*/
2419typedef struct
2420{
2421 wpt_uint8 ucType;
2422 wpt_uint8 ucLength;
2423 WDI_TSInfoType wdiTSinfo;
2424 wpt_uint16 usNomMsduSz;
2425 wpt_uint16 usMaxMsduSz;
2426 wpt_uint32 uMinSvcInterval;
2427 wpt_uint32 uMaxSvcInterval;
2428 wpt_uint32 uInactInterval;
2429 wpt_uint32 uSuspendInterval;
2430 wpt_uint32 uSvcStartTime;
2431 wpt_uint32 uMinDataRate;
2432 wpt_uint32 uMeanDataRate;
2433 wpt_uint32 uPeakDataRate;
2434 wpt_uint32 uMaxBurstSz;
2435 wpt_uint32 uDelayBound;
2436 wpt_uint32 uMinPhyRate;
2437 wpt_uint16 usSurplusBw;
2438 wpt_uint16 usMediumTime;
2439}WDI_TspecIEType;
2440
2441/*---------------------------------------------------------------------------
2442 WDI_AddTSReqInfoType
2443---------------------------------------------------------------------------*/
2444typedef struct
2445{
2446 /*STA Index*/
2447 wpt_uint8 ucSTAIdx;
2448
2449 /*Identifier for TSpec*/
2450 wpt_uint16 ucTspecIdx;
2451
2452 /*Tspec IE negotiated OTA*/
2453 WDI_TspecIEType wdiTspecIE;
2454
2455 /*UAPSD delivery and trigger enabled flags */
2456 wpt_uint8 ucUapsdFlags;
2457
2458 /*SI for each AC*/
2459 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2460
2461 /*Suspend Interval for each AC*/
2462 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2463
2464 /*DI for each AC*/
2465 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2466
2467}WDI_AddTSReqInfoType;
2468
2469
2470/*---------------------------------------------------------------------------
2471 WDI_AddTSReqParamsType
2472---------------------------------------------------------------------------*/
2473typedef struct
2474{
2475 /*TSpec Info */
2476 WDI_AddTSReqInfoType wdiTsInfo;
2477
2478 /*Request status callback offered by UMAC - it is called if the current
2479 req has returned PENDING as status; it delivers the status of sending
2480 the message over the BUS */
2481 WDI_ReqStatusCb wdiReqStatusCB;
2482
2483 /*The user data passed in by UMAC, it will be sent back when the above
2484 function pointer will be called */
2485 void* pUserData;
2486}WDI_AddTSReqParamsType;
2487
2488/*---------------------------------------------------------------------------
2489 WDI_DelTSReqInfoType
2490---------------------------------------------------------------------------*/
2491typedef struct
2492{
2493 /*STA Index*/
2494 wpt_uint8 ucSTAIdx;
2495
2496 /*Identifier for TSpec*/
2497 wpt_uint16 ucTspecIdx;
2498
2499 /*BSSID of the BSS*/
2500 wpt_macAddr macBSSID;
2501}WDI_DelTSReqInfoType;
2502
2503/*---------------------------------------------------------------------------
2504 WDI_DelTSReqParamsType
2505---------------------------------------------------------------------------*/
2506typedef struct
2507{
2508 /*Del TSpec Info*/
2509 WDI_DelTSReqInfoType wdiDelTSInfo;
2510
2511 /*Request status callback offered by UMAC - it is called if the current
2512 req has returned PENDING as status; it delivers the status of sending
2513 the message over the BUS */
2514 WDI_ReqStatusCb wdiReqStatusCB;
2515
2516 /*The user data passed in by UMAC, it will be sent back when the above
2517 function pointer will be called */
2518 void* pUserData;
2519}WDI_DelTSReqParamsType;
2520
2521/*---------------------------------------------------------------------------
2522 WDI_UpdateEDCAInfoType
2523---------------------------------------------------------------------------*/
2524typedef struct
2525{
krunal soni0b366c02013-07-17 19:55:57 -07002526 /*BSS Index of the BSS*/
2527 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002528
Jeff Johnson295189b2012-06-20 16:38:30 -07002529 /*EDCA params for BE*/
2530 WDI_EdcaParamRecord wdiEdcaBEInfo;
2531
2532 /*EDCA params for BK*/
2533 WDI_EdcaParamRecord wdiEdcaBKInfo;
2534
2535 /*EDCA params for VI*/
2536 WDI_EdcaParamRecord wdiEdcaVIInfo;
2537
2538 /*EDCA params for VO*/
2539 WDI_EdcaParamRecord wdiEdcaVOInfo;
2540
2541}WDI_UpdateEDCAInfoType;
2542
2543/*---------------------------------------------------------------------------
2544 WDI_UpdateEDCAParamsType
2545---------------------------------------------------------------------------*/
2546typedef struct
2547{
2548 /*EDCA Info */
2549 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2550
2551 /*Request status callback offered by UMAC - it is called if the current
2552 req has returned PENDING as status; it delivers the status of sending
2553 the message over the BUS */
2554 WDI_ReqStatusCb wdiReqStatusCB;
2555
2556 /*The user data passed in by UMAC, it will be sent back when the above
2557 function pointer will be called */
2558 void* pUserData;
2559}WDI_UpdateEDCAParamsType;
2560
2561/*---------------------------------------------------------------------------
2562 WDI_AddBASessionReqinfoType
2563---------------------------------------------------------------------------*/
2564typedef struct
2565{
2566 /*Indicates the station for which BA is added..*/
2567 wpt_uint8 ucSTAIdx;
2568
2569 /*The peer mac address*/
2570 wpt_macAddr macPeerAddr;
2571
2572 /*TID for which BA was negotiated*/
2573 wpt_uint8 ucBaTID;
2574
2575 /*Delayed or imediate */
2576 wpt_uint8 ucBaPolicy;
2577
2578 /*The number of buffers for this TID (baTID)*/
2579 wpt_uint16 usBaBufferSize;
2580
2581 /*BA timeout in TU's*/
2582 wpt_uint16 usBaTimeout;
2583
2584 /*b0..b3 - Fragment Number - Always set to 0
2585 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2586 wpt_uint16 usBaSSN;
2587
2588 /*Originator/Recipient*/
2589 wpt_uint8 ucBaDirection;
2590
2591}WDI_AddBASessionReqinfoType;
2592
2593
2594/*---------------------------------------------------------------------------
2595 WDI_AddBASessionReqParamsType
2596---------------------------------------------------------------------------*/
2597typedef struct
2598{
2599 /*BA Session Info Type*/
2600 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2601
2602 /*Request status callback offered by UMAC - it is called if the current
2603 req has returned PENDING as status; it delivers the status of sending
2604 the message over the BUS */
2605 WDI_ReqStatusCb wdiReqStatusCB;
2606
2607 /*The user data passed in by UMAC, it will be sent back when the above
2608 function pointer will be called */
2609 void* pUserData;
2610}WDI_AddBASessionReqParamsType;
2611
2612/*---------------------------------------------------------------------------
2613 WDI_AddBASessionRspParamsType
2614---------------------------------------------------------------------------*/
2615typedef struct
2616{
2617 /*Status of the response*/
2618 WDI_Status wdiStatus;
2619
2620 /* Dialog token */
2621 wpt_uint8 ucBaDialogToken;
2622
2623 /* TID for which the BA session has been setup */
2624 wpt_uint8 ucBaTID;
2625
2626 /* BA Buffer Size allocated for the current BA session */
2627 wpt_uint8 ucBaBufferSize;
2628
2629 /* BA session ID */
2630 wpt_uint16 usBaSessionID;
2631
2632 /* Reordering Window buffer */
2633 wpt_uint8 ucWinSize;
2634
2635 /*Station Index to id the sta */
2636 wpt_uint8 ucSTAIdx;
2637
2638 /* Starting Sequence Number */
2639 wpt_uint16 usBaSSN;
2640
2641}WDI_AddBASessionRspParamsType;
2642
2643/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302644 WDI_SpoofMacAddrRspParamType
2645---------------------------------------------------------------------------*/
2646typedef struct
2647{
2648 /* wdi status */
2649 wpt_uint32 wdiStatus;
2650
2651 /* Reserved Field */
2652 wpt_uint32 reserved;
2653
2654}WDI_SpoofMacAddrRspParamType;
2655/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002656 WDI_AddBAReqinfoType
2657---------------------------------------------------------------------------*/
2658typedef struct
2659{
2660 /*Indicates the station for which BA is added..*/
2661 wpt_uint8 ucSTAIdx;
2662
2663 /* Session Id */
2664 wpt_uint8 ucBaSessionID;
2665
2666 /* Reorder Window Size */
2667 wpt_uint8 ucWinSize;
2668
2669#ifdef FEATURE_ON_CHIP_REORDERING
2670 wpt_boolean bIsReorderingDoneOnChip;
2671#endif
2672
2673}WDI_AddBAReqinfoType;
2674
2675
2676/*---------------------------------------------------------------------------
2677 WDI_AddBAReqParamsType
2678---------------------------------------------------------------------------*/
2679typedef struct
2680{
2681 /*BA Info Type*/
2682 WDI_AddBAReqinfoType wdiBAInfoType;
2683
2684 /*Request status callback offered by UMAC - it is called if the current
2685 req has returned PENDING as status; it delivers the status of sending
2686 the message over the BUS */
2687 WDI_ReqStatusCb wdiReqStatusCB;
2688
2689 /*The user data passed in by UMAC, it will be sent back when the above
2690 function pointer will be called */
2691 void* pUserData;
2692}WDI_AddBAReqParamsType;
2693
2694
2695/*---------------------------------------------------------------------------
2696 WDI_AddBARspinfoType
2697---------------------------------------------------------------------------*/
2698typedef struct
2699{
2700 /*Status of the response*/
2701 WDI_Status wdiStatus;
2702
2703 /* Dialog token */
2704 wpt_uint8 ucBaDialogToken;
2705
2706}WDI_AddBARspinfoType;
2707
2708/*---------------------------------------------------------------------------
2709 WDI_TriggerBAReqCandidateType
2710---------------------------------------------------------------------------*/
2711typedef struct
2712{
2713 /* STA index */
2714 wpt_uint8 ucSTAIdx;
2715
2716 /* TID bit map for the STA's*/
2717 wpt_uint8 ucTidBitmap;
2718
2719}WDI_TriggerBAReqCandidateType;
2720
2721
2722/*---------------------------------------------------------------------------
2723 WDI_TriggerBAReqinfoType
2724---------------------------------------------------------------------------*/
2725typedef struct
2726{
2727 /*Indicates the station for which BA is added..*/
2728 wpt_uint8 ucSTAIdx;
2729
2730 /* Session Id */
2731 wpt_uint8 ucBASessionID;
2732
2733 /* Trigger BA Request candidate count */
2734 wpt_uint16 usBACandidateCnt;
2735
2736 /* WDI_TriggerBAReqCandidateType followed by this*/
2737
2738}WDI_TriggerBAReqinfoType;
2739
2740
2741/*---------------------------------------------------------------------------
2742 WDI_TriggerBAReqParamsType
2743---------------------------------------------------------------------------*/
2744typedef struct
2745{
2746 /*BA Trigger Info Type*/
2747 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2748
2749 /*Request status callback offered by UMAC - it is called if the current
2750 req has returned PENDING as status; it delivers the status of sending
2751 the message over the BUS */
2752 WDI_ReqStatusCb wdiReqStatusCB;
2753
2754 /*The user data passed in by UMAC, it will be sent back when the above
2755 function pointer will be called */
2756 void* pUserData;
2757}WDI_TriggerBAReqParamsType;
2758
2759/*---------------------------------------------------------------------------
2760 WDI_AddBAInfoType
2761---------------------------------------------------------------------------*/
2762typedef struct
2763{
2764 wpt_uint16 fBaEnable : 1;
2765 wpt_uint16 startingSeqNum: 12;
2766 wpt_uint16 reserved : 3;
2767}WDI_AddBAInfoType;
2768
2769/*---------------------------------------------------------------------------
2770 WDI_TriggerBARspCandidateType
2771---------------------------------------------------------------------------*/
2772#define STA_MAX_TC 8
2773
2774typedef struct
2775{
2776 /* STA index */
2777 wpt_macAddr macSTA;
2778
2779 /* BA Info */
2780 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2781}WDI_TriggerBARspCandidateType;
2782
2783/*---------------------------------------------------------------------------
2784 WDI_TriggerBARspParamsType
2785---------------------------------------------------------------------------*/
2786typedef struct
2787{
2788 /*Status of the response*/
2789 WDI_Status wdiStatus;
2790
2791 /*BSSID of the BSS*/
2792 wpt_macAddr macBSSID;
2793
2794 /* Trigger BA response candidate count */
2795 wpt_uint16 usBaCandidateCnt;
2796
2797 /* WDI_TriggerBARspCandidateType followed by this*/
2798
2799}WDI_TriggerBARspParamsType;
2800
2801/*---------------------------------------------------------------------------
2802 WDI_DelBAReqinfoType
2803---------------------------------------------------------------------------*/
2804typedef struct
2805{
2806 /*Indicates the station for which BA is added..*/
2807 wpt_uint8 ucSTAIdx;
2808
2809 /*TID for which BA was negotiated*/
2810 wpt_uint8 ucBaTID;
2811
2812 /*Originator/Recipient*/
2813 wpt_uint8 ucBaDirection;
2814
2815}WDI_DelBAReqinfoType;
2816
2817/*---------------------------------------------------------------------------
2818 WDI_DelBAReqParamsType
2819---------------------------------------------------------------------------*/
2820typedef struct
2821{
2822 /*BA Info */
2823 WDI_DelBAReqinfoType wdiBAInfo;
2824
2825 /*Request status callback offered by UMAC - it is called if the current
2826 req has returned PENDING as status; it delivers the status of sending
2827 the message over the BUS */
2828 WDI_ReqStatusCb wdiReqStatusCB;
2829
2830 /*The user data passed in by UMAC, it will be sent back when the above
2831 function pointer will be called */
2832 void* pUserData;
2833}WDI_DelBAReqParamsType;
2834
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002835/*---------------------------------------------------------------------------
2836 WDI_UpdateChannelReqinfoType
2837---------------------------------------------------------------------------*/
2838typedef struct
2839{
2840 /** primary 20 MHz channel frequency in mhz */
2841 wpt_uint32 mhz;
2842 /** Center frequency 1 in MHz*/
2843 wpt_uint32 band_center_freq1;
2844 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2845 wpt_uint32 band_center_freq2;
2846 /* The first 26 bits are a bit mask to indicate any channel flags,
2847 (see WLAN_HAL_CHAN_FLAG*)
2848 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2849 wpt_uint32 channel_info;
2850 /** contains min power, max power, reg power and reg class id. */
2851 wpt_uint32 reg_info_1;
2852 /** contains antennamax */
2853 wpt_uint32 reg_info_2;
2854}WDI_UpdateChannelReqinfoType;
2855
2856typedef struct
2857{
2858 wpt_uint8 numchan;
2859 WDI_UpdateChannelReqinfoType *pchanParam;
2860}WDI_UpdateChannelReqType;
2861/*---------------------------------------------------------------------------
2862 WDI_UpdateChReqParamsType
2863---------------------------------------------------------------------------*/
2864typedef struct
2865{
2866 /*BA Info */
2867 WDI_UpdateChannelReqType wdiUpdateChanParams;
2868
2869 /*Request status callback offered by UMAC - it is called if the current
2870 req has returned PENDING as status; it delivers the status of sending
2871 the message over the BUS */
2872 WDI_ReqStatusCb wdiReqStatusCB;
2873
2874 /*The user data passed in by UMAC, it will be sent back when the above
2875 function pointer will be called */
2876 void* pUserData;
2877}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002878
2879/*---------------------------------------------------------------------------
2880 WDI_SwitchCHRspParamsType
2881---------------------------------------------------------------------------*/
2882typedef struct
2883{
2884 /*Status of the response*/
2885 WDI_Status wdiStatus;
2886
2887 /*Indicates the channel that WLAN is on*/
2888 wpt_uint8 ucChannel;
2889
2890#ifdef WLAN_FEATURE_VOWIFI
2891 /*HAL fills in the tx power used for mgmt frames in this field.*/
2892 wpt_int8 ucTxMgmtPower;
2893#endif
2894
2895}WDI_SwitchCHRspParamsType;
2896
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002897/*--------------------------------------------------------------------
2898 WDI_SwitchChRspParamsType_V1
2899--------------------------------------------------------------------*/
2900typedef struct
2901{
2902 /*Status of the response*/
2903 WDI_Status wdiStatus;
2904
2905 /*Indicates the channel that WLAN is on*/
2906 wpt_uint8 ucChannel;
2907
2908#ifdef WLAN_FEATURE_VOWIFI
2909 /*HAL fills in the tx power used for mgmt frames in this field.*/
2910 wpt_int8 ucTxMgmtPower;
2911#endif
2912
2913 /* Source of Channel Switch */
2914 WDI_ChanSwitchSource channelSwitchSrc;
2915}WDI_SwitchChRspParamsType_V1;
2916
Jeff Johnson295189b2012-06-20 16:38:30 -07002917/*---------------------------------------------------------------------------
2918 WDI_ConfigSTAReqParamsType
2919---------------------------------------------------------------------------*/
2920typedef struct
2921{
2922 /*Info for the Join request that will be sent down to the device*/
2923 WDI_ConfigStaReqInfoType wdiReqInfo;
2924
2925 /*Request status callback offered by UMAC - it is called if the current
2926 req has returned PENDING as status; it delivers the status of sending
2927 the message over the BUS */
2928 WDI_ReqStatusCb wdiReqStatusCB;
2929
2930 /*The user data passed in by UMAC, it will be sent back when the above
2931 function pointer will be called */
2932 void* pUserData;
2933}WDI_ConfigSTAReqParamsType;
2934
2935
2936/*---------------------------------------------------------------------------
2937 WDI_UpdateBeaconParamsInfoType
2938---------------------------------------------------------------------------*/
2939
2940typedef struct
2941{
2942 /*BSS Index of the BSS*/
2943 wpt_uint8 ucBssIdx;
2944
2945 /*shortPreamble mode. HAL should update all the STA rates when it
2946 receives this message*/
2947 wpt_uint8 ucfShortPreamble;
2948 /* short Slot time.*/
2949 wpt_uint8 ucfShortSlotTime;
2950 /* Beacon Interval */
2951 wpt_uint16 usBeaconInterval;
2952 /*Protection related */
2953 wpt_uint8 ucllaCoexist;
2954 wpt_uint8 ucllbCoexist;
2955 wpt_uint8 ucllgCoexist;
2956 wpt_uint8 ucHt20MhzCoexist;
2957 wpt_uint8 ucllnNonGFCoexist;
2958 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2959 wpt_uint8 ucfRIFSMode;
2960
2961 wpt_uint16 usChangeBitmap;
2962}WDI_UpdateBeaconParamsInfoType;
2963
Mohit Khanna4a70d262012-09-11 16:30:12 -07002964#ifdef WLAN_FEATURE_11AC
2965typedef struct
2966{
2967 wpt_uint16 opMode;
2968 wpt_uint16 staId;
2969}WDI_UpdateVHTOpMode;
2970#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002971
2972/*---------------------------------------------------------------------------
2973 WDI_UpdateBeaconParamsType
2974---------------------------------------------------------------------------*/
2975typedef struct
2976{
2977 /*Update Beacon Params Info*/
2978 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2979
2980 /*Request status callback offered by UMAC - it is called if the current
2981 req has returned PENDING as status; it delivers the status of sending
2982 the message over the BUS */
2983 WDI_ReqStatusCb wdiReqStatusCB;
2984
2985 /*The user data passed in by UMAC, it will be sent back when the above
2986 function pointer will be called */
2987 void* pUserData;
2988}WDI_UpdateBeaconParamsType;
2989
2990/*---------------------------------------------------------------------------
2991 WDI_SendBeaconParamsInfoType
2992---------------------------------------------------------------------------*/
2993
2994typedef struct {
2995
2996 /*BSSID of the BSS*/
2997 wpt_macAddr macBSSID;
2998
2999 /* Beacon data */
3000 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3001
3002 /* length of the template */
3003 wpt_uint32 beaconLength;
3004
Jeff Johnson295189b2012-06-20 16:38:30 -07003005 /* TIM IE offset from the beginning of the template.*/
3006 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003007
Jeff Johnson295189b2012-06-20 16:38:30 -07003008 /* P2P IE offset from the beginning of the template */
3009 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003010} WDI_SendBeaconParamsInfoType;
3011
3012/*---------------------------------------------------------------------------
3013 WDI_SendBeaconParamsType
3014---------------------------------------------------------------------------*/
3015typedef struct
3016{
3017 /*Send Beacon Params Info*/
3018 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3019
3020 /*Request status callback offered by UMAC - it is called if the current
3021 req has returned PENDING as status; it delivers the status of sending
3022 the message over the BUS */
3023 WDI_ReqStatusCb wdiReqStatusCB;
3024
3025 /*The user data passed in by UMAC, it will be sent back when the above
3026 function pointer will be called */
3027 void* pUserData;
3028}WDI_SendBeaconParamsType;
3029
3030/*---------------------------------------------------------------------------
3031 WDI_LinkStateType
3032---------------------------------------------------------------------------*/
3033typedef enum
3034{
3035 WDI_LINK_IDLE_STATE = 0,
3036 WDI_LINK_PREASSOC_STATE = 1,
3037 WDI_LINK_POSTASSOC_STATE = 2,
3038 WDI_LINK_AP_STATE = 3,
3039 WDI_LINK_IBSS_STATE = 4,
3040
3041 // BT-AMP Case
3042 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3043 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3044 WDI_LINK_BTAMP_AP_STATE = 7,
3045 WDI_LINK_BTAMP_STA_STATE = 8,
3046
3047 // Reserved for HAL internal use
3048 WDI_LINK_LEARN_STATE = 9,
3049 WDI_LINK_SCAN_STATE = 10,
3050 WDI_LINK_FINISH_SCAN_STATE = 11,
3051 WDI_LINK_INIT_CAL_STATE = 12,
3052 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003053 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303054 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003055 WDI_LINK_MAX = 0x7FFFFFFF
3056} WDI_LinkStateType;
3057
3058/*---------------------------------------------------------------------------
3059 WDI_SetLinkReqInfoType
3060---------------------------------------------------------------------------*/
3061typedef struct
3062{
3063 /*BSSID of the BSS*/
3064 wpt_macAddr macBSSID;
3065
3066 /*Link state*/
3067 WDI_LinkStateType wdiLinkState;
3068
3069 /*BSSID of the BSS*/
3070 wpt_macAddr macSelfStaMacAddr;
3071}WDI_SetLinkReqInfoType;
3072
3073/*---------------------------------------------------------------------------
3074 WDI_SetLinkReqParamsType
3075---------------------------------------------------------------------------*/
3076typedef struct
3077{
3078 /*Link Info*/
3079 WDI_SetLinkReqInfoType wdiLinkInfo;
3080
3081 /*Request status callback offered by UMAC - it is called if the current
3082 req has returned PENDING as status; it delivers the status of sending
3083 the message over the BUS */
3084 WDI_ReqStatusCb wdiReqStatusCB;
3085
3086 /*The user data passed in by UMAC, it will be sent back when the above
3087 function pointer will be called */
3088 void* pUserData;
3089}WDI_SetLinkReqParamsType;
3090
3091/*---------------------------------------------------------------------------
3092 WDI_GetStatsParamsInfoType
3093---------------------------------------------------------------------------*/
3094typedef struct
3095{
3096 /*Indicates the station for which Get Stats are requested..*/
3097 wpt_uint8 ucSTAIdx;
3098
3099 /* categories of stats requested */
3100 wpt_uint32 uStatsMask;
3101}WDI_GetStatsParamsInfoType;
3102
3103/*---------------------------------------------------------------------------
3104 WDI_GetStatsReqParamsType
3105---------------------------------------------------------------------------*/
3106typedef struct
3107{
3108 /*Get Stats Params Info*/
3109 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3110
3111 /*Request status callback offered by UMAC - it is called if the current
3112 req has returned PENDING as status; it delivers the status of sending
3113 the message over the BUS */
3114 WDI_ReqStatusCb wdiReqStatusCB;
3115
3116 /*The user data passed in by UMAC, it will be sent back when the above
3117 function pointer will be called */
3118 void* pUserData;
3119}WDI_GetStatsReqParamsType;
3120
3121/*---------------------------------------------------------------------------
3122 WDI_GetStatsRspParamsType
3123---------------------------------------------------------------------------*/
3124typedef struct
3125{
3126 /*message type is same as the request type*/
3127 wpt_uint16 usMsgType;
3128
3129 /* length of the entire request, includes the pStatsBuf length too*/
3130 wpt_uint16 usMsgLen;
3131
3132 /*Result of the operation*/
3133 WDI_Status wdiStatus;
3134
3135 /*Indicates the station for which Get Stats are requested..*/
3136 wpt_uint8 ucSTAIdx;
3137
3138 /* categories of stats requested */
3139 wpt_uint32 uStatsMask;
3140
3141 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3142 * structure depending on statsMask.*/
3143}WDI_GetStatsRspParamsType;
3144
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003145#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003146/*---------------------------------------------------------------------------
3147 WDI_GetRoamRssiParamsInfoType
3148---------------------------------------------------------------------------*/
3149typedef struct
3150{
3151 /*Indicates the station for which Get Stats are requested..*/
3152 wpt_uint8 ucSTAIdx;
3153
3154 /* categories of stats requested */
3155 wpt_uint32 uStatsMask;
3156}WDI_GetRoamRssiParamsInfoType;
3157
3158/*---------------------------------------------------------------------------
3159 WDI_GetRoamRssiReqParamsType
3160---------------------------------------------------------------------------*/
3161typedef struct
3162{
3163 /*Get Roam Rssi Params Info*/
3164 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3165
3166 /*Request status callback offered by UMAC - it is called if the current
3167 req has returned PENDING as status; it delivers the status of sending
3168 the message over the BUS */
3169 WDI_ReqStatusCb wdiReqStatusCB;
3170
3171 /*The user data passed in by UMAC, it will be sent back when the above
3172 function pointer will be called */
3173 void* pUserData;
3174}WDI_GetRoamRssiReqParamsType;
3175
3176/*---------------------------------------------------------------------------
3177 WDI_GetRoamRssiRspParamsType
3178---------------------------------------------------------------------------*/
3179typedef struct
3180{
3181 /*Result of the operation*/
3182 WDI_Status wdiStatus;
3183
3184 /*Indicates the station for which Get Stats are requested..*/
3185 wpt_uint8 ucSTAIdx;
3186
3187 /* roam rssi requested */
3188 wpt_int8 rssi;
3189
3190 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3191 * structure depending on statsMask.*/
3192}WDI_GetRoamRssiRspParamsType;
3193#endif
3194
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003195#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003196/*---------------------------------------------------------------------------
3197 WDI_TSMStatsParamsInfoType
3198---------------------------------------------------------------------------*/
3199typedef struct
3200{
3201 /*Indicates the station for which Get Stats are requested..*/
3202 wpt_uint8 ucTid;
3203
3204 wpt_macAddr bssid;
3205}WDI_TSMStatsParamsInfoType;
3206
3207/*---------------------------------------------------------------------------
3208 WDI_TSMStatsReqParamsType
3209---------------------------------------------------------------------------*/
3210typedef struct
3211{
3212 /*Get TSM Stats Params Info*/
3213 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3214
3215 WDI_ReqStatusCb wdiReqStatusCB;
3216
3217 /*The user data passed in by UMAC, it will be sent back when the above
3218 function pointer will be called */
3219 void* pUserData;
3220
3221}WDI_TSMStatsReqParamsType;
3222
3223
3224/*---------------------------------------------------------------------------
3225 WDI_TSMStatsRspParamsType
3226---------------------------------------------------------------------------*/
3227typedef struct
3228{
3229 /*Indicates the status of the operation */
3230 WDI_Status wdiStatus;
3231
3232 wpt_uint16 UplinkPktQueueDly;
3233 wpt_uint16 UplinkPktQueueDlyHist[4];
3234 wpt_uint32 UplinkPktTxDly;
3235 wpt_uint16 UplinkPktLoss;
3236 wpt_uint16 UplinkPktCount;
3237 wpt_uint8 RoamingCount;
3238 wpt_uint16 RoamingDly;
3239}WDI_TSMStatsRspParamsType;
3240
3241
3242#endif
3243/*---------------------------------------------------------------------------
3244 WDI_UpdateCfgReqParamsType
3245---------------------------------------------------------------------------*/
3246typedef struct
3247{
3248 /*This is a TLV formatted buffer containing all config values that can
3249 be set through the DAL Interface
3250
3251 The TLV is expected to be formatted like this:
3252
3253 0 7 15 31 ....
3254 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3255
3256 Or from a C construct point of VU it would look like this:
3257
3258 typedef struct WPT_PACK_POST
3259 {
3260 #ifdef WPT_BIG_ENDIAN
3261 wpt_uint32 ucCfgId:8;
3262 wpt_uint32 ucCfgLen:8;
3263 wpt_uint32 usReserved:16;
3264 #else
3265 wpt_uint32 usReserved:16;
3266 wpt_uint32 ucCfgLen:8;
3267 wpt_uint32 ucCfgId:8;
3268 #endif
3269
3270 wpt_uint8 ucCfgBody[ucCfgLen];
3271 }WDI_ConfigType;
3272
3273 Multiple such tuplets are to be placed in the config buffer. One for
3274 each required configuration item:
3275
3276 | TLV 1 | TLV2 | ....
3277
3278 The buffer is expected to be a flat area of memory that can be manipulated
3279 with standard memory routines.
3280
3281 For more info please check paragraph 2.3.1 Config Structure from the
3282 HAL LLD.
3283
3284 For a list of accepted configuration list and IDs please look up
3285 wlan_qct_dal_cfg.h
3286 */
3287 void* pConfigBuffer;
3288
3289 /*Length of the config buffer above*/
3290 wpt_uint32 uConfigBufferLen;
3291
3292 /*Request status callback offered by UMAC - it is called if the current
3293 req has returned PENDING as status; it delivers the status of sending
3294 the message over the BUS */
3295 WDI_ReqStatusCb wdiReqStatusCB;
3296
3297 /*The user data passed in by UMAC, it will be sent back when the above
3298 function pointer will be called */
3299 void* pUserData;
3300}WDI_UpdateCfgReqParamsType;
3301
3302/*---------------------------------------------------------------------------
3303 WDI_UpdateProbeRspTemplateInfoType
3304---------------------------------------------------------------------------*/
3305//Default Beacon template size
3306#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3307
3308#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3309
3310typedef struct
3311{
3312 /*BSSID for which the Probe Template is to be used*/
3313 wpt_macAddr macBSSID;
3314
3315 /*Probe response template*/
3316 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3317
3318 /*Template Len*/
3319 wpt_uint32 uProbeRespTemplateLen;
3320
3321 /*Bitmap for the IEs that are to be handled at SLM level*/
3322 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3323
3324}WDI_UpdateProbeRspTemplateInfoType;
3325
3326/*---------------------------------------------------------------------------
3327 WDI_UpdateProbeRspParamsType
3328---------------------------------------------------------------------------*/
3329typedef struct
3330{
3331 /*Link Info*/
3332 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3333
3334 /*Request status callback offered by UMAC - it is called if the current
3335 req has returned PENDING as status; it delivers the status of sending
3336 the message over the BUS */
3337 WDI_ReqStatusCb wdiReqStatusCB;
3338
3339 /*The user data passed in by UMAC, it will be sent back when the above
3340 function pointer will be called */
3341 void* pUserData;
3342}WDI_UpdateProbeRspTemplateParamsType;
3343
3344/*---------------------------------------------------------------------------
3345 WDI_NvDownloadReqBlobInfo
3346---------------------------------------------------------------------------*/
3347
3348typedef struct
3349{
3350 /* Blob starting address*/
3351 void *pBlobAddress;
3352
3353 /* Blob size */
3354 wpt_uint32 uBlobSize;
3355
3356}WDI_NvDownloadReqBlobInfo;
3357
3358/*---------------------------------------------------------------------------
3359 WDI_NvDownloadReqParamsType
3360---------------------------------------------------------------------------*/
3361typedef struct
3362{
3363 /*NV Blob Info*/
3364 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3365
3366 /*Request status callback offered by UMAC - it is called if the current
3367 req has returned PENDING as status; it delivers the status of sending
3368 the message over the BUS */
3369 WDI_ReqStatusCb wdiReqStatusCB;
3370
3371 /*The user data passed in by UMAC, it will be sent back when the above
3372 function pointer will be called */
3373 void* pUserData;
3374
3375}WDI_NvDownloadReqParamsType;
3376
3377/*---------------------------------------------------------------------------
3378 WDI_NvDownloadRspInfoType
3379---------------------------------------------------------------------------*/
3380typedef struct
3381{
3382 /*Status of the response*/
3383 WDI_Status wdiStatus;
3384
3385}WDI_NvDownloadRspInfoType;
3386
3387/*---------------------------------------------------------------------------
3388 WDI_SetMaxTxPowerInfoType
3389---------------------------------------------------------------------------*/
3390
3391typedef struct
3392{
3393 /*BSSID is needed to identify which session issued this request. As the request has
3394 power constraints, this should be applied only to that session*/
3395 wpt_macAddr macBSSId;
3396
3397
3398 wpt_macAddr macSelfStaMacAddr;
3399
3400 /* In request power == MaxTxpower to be used.*/
3401 wpt_int8 ucPower;
3402
3403}WDI_SetMaxTxPowerInfoType;
3404
3405/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003406 WDI_SetTxPowerInfoType
3407---------------------------------------------------------------------------*/
3408
3409typedef struct
3410{
3411 wpt_uint8 bssIdx;
3412 /* In request power == MaxTxpower to be used.*/
3413 wpt_uint8 ucPower;
3414
3415}WDI_SetTxPowerInfoType;
3416
3417/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003418 WDI_SetMaxTxPowerParamsType
3419---------------------------------------------------------------------------*/
3420typedef struct
3421{
3422 /*Link Info*/
3423 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3424
3425 /*Request status callback offered by UMAC - it is called if the current
3426 req has returned PENDING as status; it delivers the status of sending
3427 the message over the BUS */
3428 WDI_ReqStatusCb wdiReqStatusCB;
3429
3430 /*The user data passed in by UMAC, it will be sent back when the above
3431 function pointer will be called */
3432 void* pUserData;
3433}WDI_SetMaxTxPowerParamsType;
3434
schang86c22c42013-03-13 18:41:24 -07003435/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003436 WDI_Band
3437---------------------------------------------------------------------------*/
3438typedef enum
3439{
3440 WDI_BAND_ALL,
3441 WDI_BAND_24,
3442 WDI_BAND_5G,
3443 WDI_BAND_MAX,
3444}eWDIBand;
3445
3446/*---------------------------------------------------------------------------
3447 WDI_MaxTxPowerPerBandInfoType
3448---------------------------------------------------------------------------*/
3449typedef struct
3450{
3451 eWDIBand bandInfo;
3452 /* In request power == MaxTxpower to be used.*/
3453 wpt_uint8 ucPower;
3454}WDI_MaxTxPowerPerBandInfoType;
3455
3456/*---------------------------------------------------------------------------
3457 WDI_SetMaxTxPowerPerBandParamsType
3458---------------------------------------------------------------------------*/
3459typedef struct
3460{
3461 /*Link Info*/
3462 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3463
3464 /*Request status callback offered by UMAC - it is called if the current
3465 req has returned PENDING as status; it delivers the status of sending
3466 the message over the BUS */
3467 WDI_ReqStatusCb wdiReqStatusCB;
3468
3469 /*The user data passed in by UMAC, it will be sent back when the above
3470 function pointer will be called */
3471 void* pUserData;
3472}WDI_SetMaxTxPowerPerBandParamsType;
3473
3474/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003475 WDI_SetTxPowerParamsType
3476---------------------------------------------------------------------------*/
3477typedef struct
3478{
3479 /*Link Info*/
3480 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3481
3482 /*Request status callback offered by UMAC - it is called if the current
3483 req has returned PENDING as status; it delivers the status of sending
3484 the message over the BUS */
3485 WDI_ReqStatusCb wdiReqStatusCB;
3486
3487 /*The user data passed in by UMAC, it will be sent back when the above
3488 function pointer will be called */
3489 void* pUserData;
3490}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003491
3492/*---------------------------------------------------------------------------
3493 WDI_SetMaxTxPowerRspMsg
3494---------------------------------------------------------------------------*/
3495
3496typedef struct
3497{
3498 /* In response, power==tx power used for management frames*/
3499 wpt_int8 ucPower;
3500
3501 /*Result of the operation*/
3502 WDI_Status wdiStatus;
3503
3504}WDI_SetMaxTxPowerRspMsg;
3505
schang86c22c42013-03-13 18:41:24 -07003506/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003507 WDI_SetMaxTxPowerPerBandRspMsg
3508---------------------------------------------------------------------------*/
3509typedef struct
3510{
3511 /* In response, power==tx power used for management frames*/
3512 wpt_int8 ucPower;
3513
3514 /*Result of the operation*/
3515 WDI_Status wdiStatus;
3516
3517}WDI_SetMaxTxPowerPerBandRspMsg;
3518
3519/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003520 WDI_SetTxPowerRspMsg
3521---------------------------------------------------------------------------*/
3522
3523typedef struct
3524{
3525 /* In response, power==tx power used for management frames*/
3526 wpt_int8 ucPower;
3527
3528 /*Result of the operation*/
3529 WDI_Status wdiStatus;
3530
3531}WDI_SetTxPowerRspMsg;
3532
Jeff Johnson295189b2012-06-20 16:38:30 -07003533typedef struct
3534{
3535 wpt_uint8 ucOpp_ps;
3536 wpt_uint32 uCtWindow;
3537 wpt_uint8 ucCount;
3538 wpt_uint32 uDuration;
3539 wpt_uint32 uInterval;
3540 wpt_uint32 uSingle_noa_duration;
3541 wpt_uint8 ucPsSelection;
3542}WDI_SetP2PGONOAReqInfoType;
3543
3544/*---------------------------------------------------------------------------
3545 WDI_SetP2PGONOAReqParamsType
3546---------------------------------------------------------------------------*/
3547typedef struct
3548{
3549 /*P2P GO NOA Req*/
3550 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3551
3552 /*Request status callback offered by UMAC - it is called if the current
3553 req has returned PENDING as status; it delivers the status of sending
3554 the message over the BUS */
3555 WDI_ReqStatusCb wdiReqStatusCB;
3556
3557 /*The user data passed in by UMAC, it will be sent back when the above
3558 function pointer will be called */
3559 void* pUserData;
3560}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003561
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303562#define WDI_MAX_SUPP_CHANNELS 128
3563#define WDI_MAX_SUPP_OPER_CLASSES 32
3564
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303565typedef struct
3566{
3567 wpt_uint16 uStaIdx;
3568 wpt_uint8 uIsResponder;
3569 wpt_uint8 uUapsdQueues;
3570 wpt_uint8 uMaxSp;
3571 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303572 wpt_uint8 uIsOffChannelSupported;
3573 wpt_uint8 peerCurrOperClass;
3574 wpt_uint8 selfCurrOperClass;
3575 wpt_uint8 validChannelsLen;
3576 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3577 wpt_uint8 validOperClassesLen;
3578 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303579}WDI_SetTDLSLinkEstablishReqInfoType;
3580/*---------------------------------------------------------------------------
3581 WDI_SetTDLSLinkEstablishReqParamsType
3582---------------------------------------------------------------------------*/
3583typedef struct
3584{
3585 /*TDLS Link Establish Req*/
3586 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3587
3588 /*Request status callback offered by UMAC - it is called if the current
3589 req has returned PENDING as status; it delivers the status of sending
3590 the message over the BUS */
3591 WDI_ReqStatusCb wdiReqStatusCB;
3592
3593 /*The user data passed in by UMAC, it will be sent back when the above
3594 function pointer will be called */
3595 void* pUserData;
3596}WDI_SetTDLSLinkEstablishReqParamsType;
3597
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303598typedef struct
3599{
3600 /*Result of the operation*/
3601 WDI_Status wdiStatus;
3602
3603 /*STA Idx*/
3604 wpt_uint16 uStaIdx;
3605}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003606
Atul Mittalc0f739f2014-07-31 13:47:47 +05303607
3608
3609typedef struct
3610{
3611 /*STA Index*/
3612 wpt_uint8 staIdx;
3613 /* if this is 1, self is initiator otherwise responder only*/
3614 wpt_uint8 isOffchannelInitiator;
3615 /*TDLS off channel related params */
3616 wpt_uint8 targetOperClass;
3617 wpt_uint8 targetChannel;
3618 wpt_uint8 secondaryChannelOffset;
3619 wpt_uint8 reserved[64];
3620}WDI_SetTDLSChanSwitchReqInfoType;
3621
3622typedef struct
3623{
3624 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3625 WDI_ReqStatusCb wdiReqStatusCB;
3626 void* pUserData;
3627}WDI_SetTDLSChanSwitchReqParamsType;
3628
3629
3630typedef struct
3631{
3632 /*Result of the operation*/
3633 WDI_Status wdiStatus;
3634
3635 /*STA Idx*/
3636 wpt_uint16 uStaIdx;
3637}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003638/*---------------------------------------------------------------------------
3639 WDI_SetAddSTASelfParamsType
3640---------------------------------------------------------------------------*/
3641typedef struct
3642{
3643 /*Self Station MAC address*/
3644 wpt_macAddr selfMacAddr;
3645
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003646 /*Self STA device mode*/
3647 wpt_uint32 currDeviceMode;
3648
Jeff Johnson295189b2012-06-20 16:38:30 -07003649 /*Status of the operation*/
3650 wpt_uint32 uStatus;
3651}WDI_AddSTASelfInfoType;
3652
3653/*---------------------------------------------------------------------------
3654 WDI_SetAddSTASelfParamsType
3655---------------------------------------------------------------------------*/
3656typedef struct
3657{
3658 /* Add Sta Self Req */
3659 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3660
3661 /*Request status callback offered by UMAC - it is called if the current
3662 req has returned PENDING as status; it delivers the status of sending
3663 the message over the BUS */
3664 WDI_ReqStatusCb wdiReqStatusCB;
3665
3666 /*The user data passed in by UMAC, it will be sent back when the above
3667 function pointer will be called */
3668 void* pUserData;
3669}WDI_AddSTASelfReqParamsType;
3670
3671
3672/*---------------------------------------------------------------------------
3673 WDI_AddSTASelfRspParamsType
3674---------------------------------------------------------------------------*/
3675typedef struct
3676{
3677 /*Status of the response*/
3678 WDI_Status wdiStatus;
3679
3680 /*STA Idx allocated by HAL*/
3681 wpt_uint8 ucSTASelfIdx;
3682
3683 /* DPU Index (IGTK, PTK, GTK all same) */
3684 wpt_uint8 dpuIdx;
3685
3686 /* DPU Signature */
3687 wpt_uint8 dpuSignature;
3688
3689 /*Self STA Mac*/
3690 wpt_macAddr macSelfSta;
3691
3692}WDI_AddSTASelfRspParamsType;
3693
3694/*---------------------------------------------------------------------------
3695 WDI_DelSTASelfReqParamsType
3696 Del Sta Self info passed to WDI form WDA
3697---------------------------------------------------------------------------*/
3698typedef struct
3699{
3700 wpt_macAddr selfMacAddr;
3701
3702}WDI_DelSTASelfInfoType;
3703
3704/*---------------------------------------------------------------------------
3705 WDI_DelSTASelfReqParamsType
3706 Del Sta Self info passed to WDI form WDA
3707---------------------------------------------------------------------------*/
3708typedef struct
3709{
3710 /*Del Sta Self Info Type */
3711 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3712 /*Request status callback offered by UMAC - it is called if the current req
3713 has returned PENDING as status; it delivers the status of sending the message
3714 over the BUS */
3715 WDI_ReqStatusCb wdiReqStatusCB;
3716 /*The user data passed in by UMAC, it will be sent back when the above
3717 function pointer will be called */
3718 void* pUserData;
3719}WDI_DelSTASelfReqParamsType;
3720
3721/*---------------------------------------------------------------------------
3722 WDI_DelSTASelfRspParamsType
3723---------------------------------------------------------------------------*/
3724typedef struct
3725{
3726 /*Status of the response*/
3727 WDI_Status wdiStatus;
3728
3729 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3730// wpt_uint8 ucSTAIdx;
3731}WDI_DelSTASelfRspParamsType;
3732
3733/*---------------------------------------------------------------------------
3734 WDI_UapsdInfoType
3735 UAPSD parameters passed per AC to WDA from UMAC
3736---------------------------------------------------------------------------*/
3737typedef struct
3738{
3739 wpt_uint8 ucSTAIdx; // STA index
3740 wpt_uint8 ucAc; // Access Category
3741 wpt_uint8 ucUp; // User Priority
3742 wpt_uint32 uSrvInterval; // Service Interval
3743 wpt_uint32 uSusInterval; // Suspend Interval
3744 wpt_uint32 uDelayInterval; // Delay Interval
3745} WDI_UapsdInfoType;
3746
3747/*---------------------------------------------------------------------------
3748 WDI_SetUapsdAcParamsReqParamsType
3749 UAPSD parameters passed per AC to WDI from WDA
3750---------------------------------------------------------------------------*/
3751typedef struct
3752{
3753 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3754 WDI_UapsdInfoType wdiUapsdInfo;
3755 /*Request status callback offered by UMAC - it is called if the current req
3756 has returned PENDING as status; it delivers the status of sending the message
3757 over the BUS */
3758 WDI_ReqStatusCb wdiReqStatusCB;
3759 /*The user data passed in by UMAC, it will be sent back when the above
3760 function pointer will be called */
3761 void* pUserData;
3762}WDI_SetUapsdAcParamsReqParamsType;
3763
3764/*---------------------------------------------------------------------------
3765 WDI_EnterBmpsReqinfoType
3766 Enter BMPS parameters passed to WDA from UMAC
3767---------------------------------------------------------------------------*/
3768typedef struct
3769{
3770 //TBTT value derived from the last beacon
3771 wpt_uint8 ucBssIdx;
3772 wpt_uint64 uTbtt;
3773 wpt_uint8 ucDtimCount;
3774 //DTIM period given to HAL during association may not be valid,
3775 //if association is based on ProbeRsp instead of beacon.
3776 wpt_uint8 ucDtimPeriod;
3777 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3778 DXE when DXE wakes up from power save*/
3779 unsigned int dxePhyAddr;
3780
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003781 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003782 wpt_uint32 rssiFilterPeriod;
3783 wpt_uint32 numBeaconPerRssiAverage;
3784 wpt_uint8 bRssiFilterEnable;
3785}WDI_EnterBmpsReqinfoType;
3786
3787/*---------------------------------------------------------------------------
3788 WDI_EnterBmpsReqParamsType
3789 Enter BMPS parameters passed to WDI from WDA
3790---------------------------------------------------------------------------*/
3791typedef struct
3792{
3793 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3794 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3795 /*Request status callback offered by UMAC - it is called if the current req
3796 has returned PENDING as status; it delivers the status of sending the message
3797 over the BUS */
3798 WDI_ReqStatusCb wdiReqStatusCB;
3799 /*The user data passed in by UMAC, it will be sent back when the above
3800 function pointer will be called */
3801 void* pUserData;
3802}WDI_EnterBmpsReqParamsType;
3803
3804/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303805 WDI_EnterImpsReqParamsType
3806 Enter IMPS parameters passed to WDI from WDA
3807---------------------------------------------------------------------------*/
3808typedef struct
3809{
3810 /*Request status callback offered by UMAC - it is called if the current req
3811 has returned PENDING as status; it delivers the status of sending the message
3812 over the BUS */
3813 WDI_ReqStatusCb wdiReqStatusCB;
3814 /*The user data passed in by UMAC, it will be sent back when the above
3815 function pointer will be called */
3816 void* pUserData;
3817}WDI_EnterImpsReqParamsType;
3818
3819/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003820 WDI_EnterBmpsReqParamsType
3821 Enter BMPS parameters passed from WDI to WDA
3822---------------------------------------------------------------------------*/
3823typedef struct
3824{
3825 /*Status of the response*/
3826 WDI_Status wdiStatus;
3827
3828 /*BssIDX of the session*/
3829 wpt_uint8 bssIdx;
3830}WDI_EnterBmpsRspParamsType;
3831
3832/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003833 WDI_ExitBmpsReqinfoType
3834 Exit BMPS parameters passed to WDA from UMAC
3835---------------------------------------------------------------------------*/
3836typedef struct
3837{
3838 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003839 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003840}WDI_ExitBmpsReqinfoType;
3841
3842/*---------------------------------------------------------------------------
3843 WDI_ExitBmpsReqParamsType
3844 Exit BMPS parameters passed to WDI from WDA
3845---------------------------------------------------------------------------*/
3846typedef struct
3847{
3848 /*Exit BMPS Info Type, same as tExitBmpsParams */
3849 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3850 /*Request status callback offered by UMAC - it is called if the current req
3851 has returned PENDING as status; it delivers the status of sending the message
3852 over the BUS */
3853 WDI_ReqStatusCb wdiReqStatusCB;
3854 /*The user data passed in by UMAC, it will be sent back when the above
3855 function pointer will be called */
3856 void* pUserData;
3857}WDI_ExitBmpsReqParamsType;
3858
3859/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003860 WDI_ExitBmpsReqParamsType
3861 Exit BMPS parameters passed from WDI to WDA
3862---------------------------------------------------------------------------*/
3863typedef struct
3864{
3865 /*Status of the response*/
3866 WDI_Status wdiStatus;
3867
3868 /*BssIDX of the session*/
3869 wpt_uint8 bssIdx;
3870}WDI_ExitBmpsRspParamsType;
3871
3872/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003873 WDI_EnterUapsdReqinfoType
3874 Enter UAPSD parameters passed to WDA from UMAC
3875---------------------------------------------------------------------------*/
3876typedef struct
3877{
3878 wpt_uint8 ucBkDeliveryEnabled:1;
3879 wpt_uint8 ucBeDeliveryEnabled:1;
3880 wpt_uint8 ucViDeliveryEnabled:1;
3881 wpt_uint8 ucVoDeliveryEnabled:1;
3882 wpt_uint8 ucBkTriggerEnabled:1;
3883 wpt_uint8 ucBeTriggerEnabled:1;
3884 wpt_uint8 ucViTriggerEnabled:1;
3885 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003886 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003887}WDI_EnterUapsdReqinfoType;
3888
3889/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003890 WDI_EnterUapsdRspParamsType
3891 Enter UAPSD parameters passed from WDI to WDA
3892---------------------------------------------------------------------------*/
3893typedef struct
3894{
3895 /*Status of the response*/
3896 WDI_Status wdiStatus;
3897
3898 /*BssIDX of the session*/
3899 wpt_uint8 bssIdx;
3900}WDI_EnterUapsdRspParamsType;
3901
3902/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003903 WDI_EnterUapsdReqinfoType
3904 Enter UAPSD parameters passed to WDI from WDA
3905---------------------------------------------------------------------------*/
3906typedef struct
3907{
3908 /*Enter UAPSD Info Type, same as tUapsdParams */
3909 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3910 /*Request status callback offered by UMAC - it is called if the current req
3911 has returned PENDING as status; it delivers the status of sending the message
3912 over the BUS */
3913 WDI_ReqStatusCb wdiReqStatusCB;
3914 /*The user data passed in by UMAC, it will be sent back when the above
3915 function pointer will be called */
3916 void* pUserData;
3917}WDI_EnterUapsdReqParamsType;
3918
3919/*---------------------------------------------------------------------------
3920 WDI_UpdateUapsdReqinfoType
3921 Update UAPSD parameters passed to WDA from UMAC
3922---------------------------------------------------------------------------*/
3923typedef struct
3924{
3925 wpt_uint8 ucSTAIdx;
3926 wpt_uint8 ucUapsdACMask;
3927 wpt_uint32 uMaxSpLen;
3928}WDI_UpdateUapsdReqinfoType;
3929
3930/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003931 WDI_ExitUapsdReqinfoType
3932 Exit UAPSD parameters passed to WDA from UMAC
3933---------------------------------------------------------------------------*/
3934typedef struct
3935{
3936 wpt_uint8 bssIdx;
3937}WDI_ExitUapsdReqinfoType;
3938
3939/*---------------------------------------------------------------------------
3940 WDI_ExitUapsdReqParamsType
3941 Exit UAPSD parameters passed to WDI from WDA
3942---------------------------------------------------------------------------*/
3943typedef struct
3944{
3945 /*Exit UAPSD Info Type, same as tUapsdParams */
3946 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3947 /*Request status callback offered by UMAC - it is called if the current req
3948 has returned PENDING as status; it delivers the status of sending the message
3949 over the BUS */
3950 WDI_ReqStatusCb wdiReqStatusCB;
3951 /*The user data passed in by UMAC, it will be sent back when the above
3952 function pointer will be called */
3953 void* pUserData;
3954}WDI_ExitUapsdReqParamsType;
3955
3956/*---------------------------------------------------------------------------
3957 WDI_ExitUapsdRspParamsType
3958 Exit UAPSD parameters passed from WDI to WDA
3959---------------------------------------------------------------------------*/
3960typedef struct
3961{
3962 /*Status of the response*/
3963 WDI_Status wdiStatus;
3964
3965 /*BssIDX of the session*/
3966 wpt_uint8 bssIdx;
3967}WDI_ExitUapsdRspParamsType;
3968
3969/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003970 WDI_UpdateUapsdReqParamsType
3971 Update UAPSD parameters passed to WDI form WDA
3972---------------------------------------------------------------------------*/
3973typedef struct
3974{
3975 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3976 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3977 /*Request status callback offered by UMAC - it is called if the current req
3978 has returned PENDING as status; it delivers the status of sending the message
3979 over the BUS */
3980 WDI_ReqStatusCb wdiReqStatusCB;
3981 /*The user data passed in by UMAC, it will be sent back when the above
3982 function pointer will be called */
3983 void* pUserData;
3984}WDI_UpdateUapsdReqParamsType;
3985
3986/*---------------------------------------------------------------------------
3987 WDI_ConfigureRxpFilterReqParamsType
3988 RXP filter parameters passed to WDI form WDA
3989---------------------------------------------------------------------------*/
3990typedef struct
3991{
3992 /* Mode of Mcast and Bcast filters configured */
3993 wpt_uint8 ucSetMcstBcstFilterSetting;
3994
3995 /* Mcast Bcast Filters enable/disable*/
3996 wpt_uint8 ucSetMcstBcstFilter;
3997}WDI_RxpFilterReqParamsType;
3998
3999typedef struct
4000{
4001 /* Rxp Filter */
4002 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4003
4004 /*Request status callback offered by UMAC - it is called if the current req
4005 has returned PENDING as status; it delivers the status of sending the message
4006 over the BUS */
4007 WDI_ReqStatusCb wdiReqStatusCB;
4008 /*The user data passed in by UMAC, it will be sent back when the above
4009 function pointer will be called */
4010 void* pUserData;
4011}WDI_ConfigureRxpFilterReqParamsType;
4012
4013/*---------------------------------------------------------------------------
4014 WDI_BeaconFilterInfoType
4015 Beacon Filtering data structures passed to WDA form UMAC
4016---------------------------------------------------------------------------*/
4017typedef struct
4018{
4019 wpt_uint16 usCapabilityInfo;
4020 wpt_uint16 usCapabilityMask;
4021 wpt_uint16 usBeaconInterval;
4022 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004023 wpt_uint8 bssIdx;
4024 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004025}WDI_BeaconFilterInfoType;
4026
4027/*---------------------------------------------------------------------------
4028 WDI_BeaconFilterReqParamsType
4029 Beacon Filtering parameters passed to WDI form WDA
4030---------------------------------------------------------------------------*/
4031typedef struct
4032{
4033 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4034 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4035 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4036 copy of params from WDA to WDI */
4037 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4038 /*Request status callback offered by UMAC - it is called if the current req
4039 has returned PENDING as status; it delivers the status of sending the message
4040 over the BUS */
4041 WDI_ReqStatusCb wdiReqStatusCB;
4042 /*The user data passed in by UMAC, it will be sent back when the above
4043 function pointer will be called */
4044 void* pUserData;
4045}WDI_BeaconFilterReqParamsType;
4046
4047/*---------------------------------------------------------------------------
4048 WDI_RemBeaconFilterInfoType
4049 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4050---------------------------------------------------------------------------*/
4051typedef struct
4052{
4053 wpt_uint8 ucIeCount;
4054 wpt_uint8 ucRemIeId[1];
4055}WDI_RemBeaconFilterInfoType;
4056
4057/*---------------------------------------------------------------------------
4058 WDI_RemBeaconFilterReqParamsType
4059 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4060---------------------------------------------------------------------------*/
4061typedef struct
4062{
4063 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4064 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4065 /*Request status callback offered by UMAC - it is called if the current req
4066 has returned PENDING as status; it delivers the status of sending the message
4067 over the BUS */
4068 WDI_ReqStatusCb wdiReqStatusCB;
4069 /*The user data passed in by UMAC, it will be sent back when the above
4070 function pointer will be called */
4071 void* pUserData;
4072}WDI_RemBeaconFilterReqParamsType;
4073
4074/*---------------------------------------------------------------------------
4075 WDI_RSSIThresholdsType
4076 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4077---------------------------------------------------------------------------*/
4078typedef struct
4079{
4080 wpt_int8 ucRssiThreshold1 : 8;
4081 wpt_int8 ucRssiThreshold2 : 8;
4082 wpt_int8 ucRssiThreshold3 : 8;
4083 wpt_uint8 bRssiThres1PosNotify : 1;
4084 wpt_uint8 bRssiThres1NegNotify : 1;
4085 wpt_uint8 bRssiThres2PosNotify : 1;
4086 wpt_uint8 bRssiThres2NegNotify : 1;
4087 wpt_uint8 bRssiThres3PosNotify : 1;
4088 wpt_uint8 bRssiThres3NegNotify : 1;
4089 wpt_uint8 bReserved10 : 2;
4090} WDI_RSSIThresholdsType;
4091
4092/*---------------------------------------------------------------------------
4093 WDI_SetRSSIThresholdsReqParamsType
4094 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4095---------------------------------------------------------------------------*/
4096typedef struct
4097{
4098 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4099 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4100 /*Request status callback offered by UMAC - it is called if the current req
4101 has returned PENDING as status; it delivers the status of sending the message
4102 over the BUS */
4103 WDI_ReqStatusCb wdiReqStatusCB;
4104 /*The user data passed in by UMAC, it will be sent back when the above
4105 function pointer will be called */
4106 void* pUserData;
4107}WDI_SetRSSIThresholdsReqParamsType;
4108
4109/*---------------------------------------------------------------------------
4110 WDI_HostOffloadReqType
4111 host offload info passed to WDA form UMAC
4112---------------------------------------------------------------------------*/
4113#ifdef WLAN_NS_OFFLOAD
4114typedef struct
4115{
4116 wpt_uint8 srcIPv6Addr[16];
4117 wpt_uint8 selfIPv6Addr[16];
4118 //Only support 2 possible Network Advertisement IPv6 address
4119 wpt_uint8 targetIPv6Addr1[16];
4120 wpt_uint8 targetIPv6Addr2[16];
4121 wpt_uint8 selfMacAddr[6];
4122 wpt_uint8 srcIPv6AddrValid : 1;
4123 wpt_uint8 targetIPv6Addr1Valid : 1;
4124 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304125 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004126} WDI_NSOffloadParams;
4127#endif //WLAN_NS_OFFLOAD
4128
4129typedef struct
4130{
4131 wpt_uint8 ucOffloadType;
4132 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004133 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004134 union
4135 {
4136 wpt_uint8 aHostIpv4Addr [4];
4137 wpt_uint8 aHostIpv6Addr [16];
4138 } params;
4139} WDI_HostOffloadReqType;
4140
4141/*---------------------------------------------------------------------------
4142 WDI_HostOffloadReqParamsType
4143 host offload info passed to WDI form WDA
4144---------------------------------------------------------------------------*/
4145typedef struct
4146{
4147 /*Host offload Info Type, same as tHalHostOffloadReq */
4148 WDI_HostOffloadReqType wdiHostOffloadInfo;
4149#ifdef WLAN_NS_OFFLOAD
4150 WDI_NSOffloadParams wdiNsOffloadParams;
4151#endif //WLAN_NS_OFFLOAD
4152 /*Request status callback offered by UMAC - it is called if the current req
4153 has returned PENDING as status; it delivers the status of sending the message
4154 over the BUS */
4155 WDI_ReqStatusCb wdiReqStatusCB;
4156 /*The user data passed in by UMAC, it will be sent back when the above
4157 function pointer will be called */
4158 void* pUserData;
4159}WDI_HostOffloadReqParamsType;
4160
4161/*---------------------------------------------------------------------------
4162 WDI_KeepAliveReqType
4163 Keep Alive info passed to WDA form UMAC
4164---------------------------------------------------------------------------*/
4165typedef struct
4166{
4167 wpt_uint8 ucPacketType;
4168 wpt_uint32 ucTimePeriod;
4169 wpt_uint8 aHostIpv4Addr[4];
4170 wpt_uint8 aDestIpv4Addr[4];
4171 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004172 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004173} WDI_KeepAliveReqType;
4174
4175/*---------------------------------------------------------------------------
4176 WDI_KeepAliveReqParamsType
4177 Keep Alive passed to WDI form WDA
4178---------------------------------------------------------------------------*/
4179typedef struct
4180{
4181 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4182 WDI_KeepAliveReqType wdiKeepAliveInfo;
4183 /*Request status callback offered by UMAC - it is called if the current req
4184 has returned PENDING as status; it delivers the status of sending the message
4185 over the BUS */
4186 WDI_ReqStatusCb wdiReqStatusCB;
4187 /*The user data passed in by UMAC, it will be sent back when the above
4188 function pointer will be called */
4189 void* pUserData;
4190}WDI_KeepAliveReqParamsType;
4191
4192/*---------------------------------------------------------------------------
4193 WDI_WowlAddBcPtrnInfoType
4194 Wowl add ptrn info passed to WDA form UMAC
4195---------------------------------------------------------------------------*/
4196typedef struct
4197{
4198 wpt_uint8 ucPatternId; // Pattern ID
4199 // Pattern byte offset from beginning of the 802.11 packet to start of the
4200 // wake-up pattern
4201 wpt_uint8 ucPatternByteOffset;
4202 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4203 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4204 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4205 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4206 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4207 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004208 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004209} WDI_WowlAddBcPtrnInfoType;
4210
4211/*---------------------------------------------------------------------------
4212 WDI_WowlAddBcPtrnReqParamsType
4213 Wowl add ptrn info passed to WDI form WDA
4214---------------------------------------------------------------------------*/
4215typedef struct
4216{
4217 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4218 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4219 /*Request status callback offered by UMAC - it is called if the current req
4220 has returned PENDING as status; it delivers the status of sending the message
4221 over the BUS */
4222 WDI_ReqStatusCb wdiReqStatusCB;
4223 /*The user data passed in by UMAC, it will be sent back when the above
4224 function pointer will be called */
4225 void* pUserData;
4226}WDI_WowlAddBcPtrnReqParamsType;
4227
4228/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004229 WDI_WowlAddBcPtrnRspParamsType
4230 Wowl add ptrn info passed from WDI to WDA
4231---------------------------------------------------------------------------*/
4232typedef struct
4233{
4234 /*Status of the response*/
4235 WDI_Status wdiStatus;
4236 /*BssIDX of the session*/
4237 wpt_uint8 bssIdx;
4238}WDI_WowlAddBcPtrnRspParamsType;
4239
4240/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004241 WDI_WowlDelBcPtrnInfoType
4242 Wowl add ptrn info passed to WDA form UMAC
4243---------------------------------------------------------------------------*/
4244typedef struct
4245{
4246 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004247 wpt_uint8 ucPatternId;
4248 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004249} WDI_WowlDelBcPtrnInfoType;
4250
4251/*---------------------------------------------------------------------------
4252 WDI_WowlDelBcPtrnReqParamsType
4253 Wowl add ptrn info passed to WDI form WDA
4254---------------------------------------------------------------------------*/
4255typedef struct
4256{
4257 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4258 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4259 /*Request status callback offered by UMAC - it is called if the current req
4260 has returned PENDING as status; it delivers the status of sending the message
4261 over the BUS */
4262 WDI_ReqStatusCb wdiReqStatusCB;
4263 /*The user data passed in by UMAC, it will be sent back when the above
4264 function pointer will be called */
4265 void* pUserData;
4266}WDI_WowlDelBcPtrnReqParamsType;
4267
4268/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004269 WDI_WowlDelBcPtrnRspParamsType
4270 Wowl Del ptrn info passed from WDI to WDA
4271---------------------------------------------------------------------------*/
4272typedef struct
4273{
4274 /*Status of the response*/
4275 WDI_Status wdiStatus;
4276 /*BssIDX of the session*/
4277 wpt_uint8 bssIdx;
4278}WDI_WowlDelBcPtrnRspParamsType;
4279
4280/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004281 WDI_WowlEnterInfoType
4282 Wowl enter info passed to WDA form UMAC
4283---------------------------------------------------------------------------*/
4284typedef struct
4285{
4286 /* Enables/disables magic packet filtering */
4287 wpt_uint8 ucMagicPktEnable;
4288
4289 /* Magic pattern */
4290 wpt_macAddr magicPtrn;
4291
4292 /* Enables/disables packet pattern filtering in firmware.
4293 Enabling this flag enables broadcast pattern matching
4294 in Firmware. If unicast pattern matching is also desired,
4295 ucUcastPatternFilteringEnable flag must be set tot true
4296 as well
4297 */
4298 wpt_uint8 ucPatternFilteringEnable;
4299
4300 /* Enables/disables unicast packet pattern filtering.
4301 This flag specifies whether we want to do pattern match
4302 on unicast packets as well and not just broadcast packets.
4303 This flag has no effect if the ucPatternFilteringEnable
4304 (main controlling flag) is set to false
4305 */
4306 wpt_uint8 ucUcastPatternFilteringEnable;
4307
4308 /* This configuration is valid only when magicPktEnable=1.
4309 * It requests hardware to wake up when it receives the
4310 * Channel Switch Action Frame.
4311 */
4312 wpt_uint8 ucWowChnlSwitchRcv;
4313
4314 /* This configuration is valid only when magicPktEnable=1.
4315 * It requests hardware to wake up when it receives the
4316 * Deauthentication Frame.
4317 */
4318 wpt_uint8 ucWowDeauthRcv;
4319
4320 /* This configuration is valid only when magicPktEnable=1.
4321 * It requests hardware to wake up when it receives the
4322 * Disassociation Frame.
4323 */
4324 wpt_uint8 ucWowDisassocRcv;
4325
4326 /* This configuration is valid only when magicPktEnable=1.
4327 * It requests hardware to wake up when it has missed
4328 * consecutive beacons. This is a hardware register
4329 * configuration (NOT a firmware configuration).
4330 */
4331 wpt_uint8 ucWowMaxMissedBeacons;
4332
4333 /* This configuration is valid only when magicPktEnable=1.
4334 * This is a timeout value in units of microsec. It requests
4335 * hardware to unconditionally wake up after it has stayed
4336 * in WoWLAN mode for some time. Set 0 to disable this feature.
4337 */
4338 wpt_uint8 ucWowMaxSleepUsec;
4339
4340#ifdef WLAN_WAKEUP_EVENTS
4341 /* This configuration directs the WoW packet filtering to look for EAP-ID
4342 * requests embedded in EAPOL frames and use this as a wake source.
4343 */
4344 wpt_uint8 ucWoWEAPIDRequestEnable;
4345
4346 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4347 * requests and use this as a wake source.
4348 */
4349 wpt_uint8 ucWoWEAPOL4WayEnable;
4350
4351 /* This configuration allows a host wakeup on an network scan offload match.
4352 */
4353 wpt_uint8 ucWowNetScanOffloadMatch;
4354
4355 /* This configuration allows a host wakeup on any GTK rekeying error.
4356 */
4357 wpt_uint8 ucWowGTKRekeyError;
4358
4359 /* This configuration allows a host wakeup on BSS connection loss.
4360 */
4361 wpt_uint8 ucWoWBSSConnLoss;
4362#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004363
4364 /* BSSIDX used to find the current session
4365 */
4366 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004367} WDI_WowlEnterInfoType;
4368
4369/*---------------------------------------------------------------------------
4370 WDI_WowlEnterReqParamsType
4371 Wowl enter info passed to WDI form WDA
4372---------------------------------------------------------------------------*/
4373typedef struct
4374{
4375 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4376 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4377 /*Request status callback offered by UMAC - it is called if the current req
4378 has returned PENDING as status; it delivers the status of sending the message
4379 over the BUS */
4380 WDI_ReqStatusCb wdiReqStatusCB;
4381 /*The user data passed in by UMAC, it will be sent back when the above
4382 function pointer will be called */
4383 void* pUserData;
4384}WDI_WowlEnterReqParamsType;
4385
4386/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004387 WDI_WowlEnterRsqParamsType
4388 Wowl enter info passed from WDI to WDA
4389---------------------------------------------------------------------------*/
4390typedef struct
4391{
4392 /*Status of the response message*/
4393 WDI_Status status;
4394
4395 /* BSSIDX used to find the current session
4396 */
4397 wpt_uint8 bssIdx;
4398}WDI_WowlEnterRspParamsType;
4399
4400/*---------------------------------------------------------------------------
4401 WDI_WowlExitInfoType
4402 Wowl exit info passed to WDA form UMAC
4403 ---------------------------------------------------------------------------*/
4404typedef struct
4405{
4406 /* BSSIDX used to find the current session
4407 */
4408 wpt_uint8 bssIdx;
4409} WDI_WowlExitInfoType;
4410
4411/*---------------------------------------------------------------------------
4412 WDI_WowlExitReqParamsType
4413 Wowl exit info passed to WDI form WDA
4414---------------------------------------------------------------------------*/
4415typedef struct
4416{
4417 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4418 WDI_WowlExitInfoType wdiWowlExitInfo;
4419 /*Request status callback offered by UMAC - it is called if the current req
4420 has returned PENDING as status; it delivers the status of sending the message
4421 over the BUS */
4422 WDI_ReqStatusCb wdiReqStatusCB;
4423 /*The user data passed in by UMAC, it will be sent back when the above
4424 function pointer will be called */
4425 void* pUserData;
4426}WDI_WowlExitReqParamsType;
4427
4428/*---------------------------------------------------------------------------
4429 WDI_WowlExitRspParamsType
4430 Wowl exit info passed from WDI to WDA
4431---------------------------------------------------------------------------*/
4432typedef struct
4433{
4434 /*Status of the response message*/
4435 WDI_Status status;
4436
4437 /* BSSIDX used to find the current session
4438 */
4439 wpt_uint8 bssIdx;
4440}WDI_WowlExitRspParamsType;
4441
4442/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004443 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4444 Apps Cpu Wakeup State parameters passed to WDI form WDA
4445---------------------------------------------------------------------------*/
4446typedef struct
4447{
4448 /*Depicts the state of the Apps CPU */
4449 wpt_boolean bIsAppsAwake;
4450 /*Request status callback offered by UMAC - it is called if the current req
4451 has returned PENDING as status; it delivers the status of sending the message
4452 over the BUS */
4453 WDI_ReqStatusCb wdiReqStatusCB;
4454 /*The user data passed in by UMAC, it will be sent back when the above
4455 function pointer will be called */
4456 void* pUserData;
4457}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4458/*---------------------------------------------------------------------------
4459 WDI_FlushAcReqinfoType
4460---------------------------------------------------------------------------*/
4461typedef struct
4462{
4463 // Message Type
4464 wpt_uint16 usMesgType;
4465
4466 // Message Length
4467 wpt_uint16 usMesgLen;
4468
4469 // Station Index. originates from HAL
4470 wpt_uint8 ucSTAId;
4471
4472 // TID for which the transmit queue is being flushed
4473 wpt_uint8 ucTid;
4474
4475}WDI_FlushAcReqinfoType;
4476
4477/*---------------------------------------------------------------------------
4478 WDI_FlushAcReqParamsType
4479---------------------------------------------------------------------------*/
4480typedef struct
4481{
4482 /*AC Info */
4483 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4484
4485 /*Request status callback offered by UMAC - it is called if the current
4486 req has returned PENDING as status; it delivers the status of sending
4487 the message over the BUS */
4488 WDI_ReqStatusCb wdiReqStatusCB;
4489
4490 /*The user data passed in by UMAC, it will be sent back when the above
4491 function pointer will be called */
4492 void* pUserData;
4493}WDI_FlushAcReqParamsType;
4494
4495/*---------------------------------------------------------------------------
4496 WDI_BtAmpEventinfoType
4497 BT-AMP Event Structure
4498---------------------------------------------------------------------------*/
4499typedef struct
4500{
4501 wpt_uint8 ucBtAmpEventType;
4502
4503} WDI_BtAmpEventinfoType;
4504
4505/*---------------------------------------------------------------------------
4506 WDI_BtAmpEventParamsType
4507---------------------------------------------------------------------------*/
4508typedef struct
4509{
4510 /*BT AMP event Info */
4511 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4512
4513 /*Request status callback offered by UMAC - it is called if the current
4514 req has returned PENDING as status; it delivers the status of sending
4515 the message over the BUS */
4516 WDI_ReqStatusCb wdiReqStatusCB;
4517
4518 /*The user data passed in by UMAC, it will be sent back when the above
4519 function pointer will be called */
4520 void* pUserData;
4521}WDI_BtAmpEventParamsType;
4522
Jeff Johnsone7245742012-09-05 17:12:55 -07004523#ifdef FEATURE_OEM_DATA_SUPPORT
4524
4525#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004526#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004527#endif
4528#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004529#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004530#endif
4531
4532/*----------------------------------------------------------------------------
4533 WDI_oemDataReqInfoType
4534----------------------------------------------------------------------------*/
4535typedef struct
4536{
4537 wpt_macAddr selfMacAddr;
4538 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4539}WDI_oemDataReqInfoType;
4540
4541/*----------------------------------------------------------------------------
4542 WDI_oemDataReqParamsType
4543----------------------------------------------------------------------------*/
4544typedef struct
4545{
4546 /*Request status callback offered by UMAC - it is called if the current
4547 req has returned PENDING as status; it delivers the status of sending
4548 the message over the BUS */
4549 WDI_ReqStatusCb wdiReqStatusCB;
4550
4551 /*The user data passed in by UMAC, it will be sent back when the above
4552 function pointer will be called */
4553 void* pUserData;
4554
4555 /*OEM DATA REQ Info */
4556 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4557
4558}WDI_oemDataReqParamsType;
4559
4560/*----------------------------------------------------------------------------
4561 WDI_oemDataRspParamsType
4562----------------------------------------------------------------------------*/
4563typedef struct
4564{
4565 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4566}WDI_oemDataRspParamsType;
4567
4568#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004569
4570#ifdef WLAN_FEATURE_VOWIFI_11R
4571/*---------------------------------------------------------------------------
4572 WDI_AggrAddTSReqInfoType
4573---------------------------------------------------------------------------*/
4574typedef struct
4575{
4576 /*STA Index*/
4577 wpt_uint8 ucSTAIdx;
4578
4579 /*Identifier for TSpec*/
4580 wpt_uint8 ucTspecIdx;
4581
4582 /*Tspec IE negotiated OTA*/
4583 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4584
4585 /*UAPSD delivery and trigger enabled flags */
4586 wpt_uint8 ucUapsdFlags;
4587
4588 /*SI for each AC*/
4589 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4590
4591 /*Suspend Interval for each AC*/
4592 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4593
4594 /*DI for each AC*/
4595 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4596
4597}WDI_AggrAddTSReqInfoType;
4598
4599
4600/*---------------------------------------------------------------------------
4601 WDI_AggrAddTSReqParamsType
4602---------------------------------------------------------------------------*/
4603typedef struct
4604{
4605 /*TSpec Info */
4606 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4607
4608 /*Request status callback offered by UMAC - it is called if the current
4609 req has returned PENDING as status; it delivers the status of sending
4610 the message over the BUS */
4611 WDI_ReqStatusCb wdiReqStatusCB;
4612
4613 /*The user data passed in by UMAC, it will be sent back when the above
4614 function pointer will be called */
4615 void* pUserData;
4616}WDI_AggrAddTSReqParamsType;
4617
4618#endif /* WLAN_FEATURE_VOWIFI_11R */
4619
Jeff Johnson295189b2012-06-20 16:38:30 -07004620/*---------------------------------------------------------------------------
4621 WDI_FTMCommandReqType
4622---------------------------------------------------------------------------*/
4623typedef struct
4624{
4625 /* FTM Command Body length */
4626 wpt_uint32 bodyLength;
4627 /* Actual FTM Command body */
4628 void *FTMCommandBody;
4629}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004630
4631/*---------------------------------------------------------------------------
4632 WDI_WlanSuspendInfoType
4633---------------------------------------------------------------------------*/
4634typedef struct
4635{
4636 /* Mode of Mcast and Bcast filters configured */
4637 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4638}WDI_WlanSuspendInfoType;
4639
4640/*---------------------------------------------------------------------------
4641 WDI_SuspendParamsType
4642---------------------------------------------------------------------------*/
4643typedef struct
4644{
4645 WDI_WlanSuspendInfoType wdiSuspendParams;
4646
4647 /*Request status callback offered by UMAC - it is called if the current
4648 req has returned PENDING as status; it delivers the status of sending
4649 the message over the BUS */
4650 WDI_ReqStatusCb wdiReqStatusCB;
4651
4652 /*The user data passed in by UMAC, it will be sent back when the above
4653 function pointer will be called */
4654 void* pUserData;
4655
4656}WDI_SuspendParamsType;
4657
4658/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004659 WDI_TrafficStatsType - This is collected for each STA
4660---------------------------------------------------------------------------*/
4661
4662typedef struct
4663{
4664 /* TX stats */
4665 wpt_uint32 txBytesPushed;
4666 wpt_uint32 txPacketsPushed;
4667
4668 /* RX stats */
4669 wpt_uint32 rxBytesRcvd;
4670 wpt_uint32 rxPacketsRcvd;
4671 wpt_uint32 rxTimeTotal;
4672}WDI_TrafficStatsType;
4673
4674typedef struct
4675{
4676 WDI_TrafficStatsType *pTrafficStats;
4677 wpt_uint32 length;
4678 wpt_uint32 duration;
4679
4680 /*Request status callback offered by UMAC - it is called if the current
4681 req has returned PENDING as status; it delivers the status of sending
4682 the message over the BUS */
4683 WDI_ReqStatusCb wdiReqStatusCB;
4684
4685 /*The user data passed in by UMAC, it will be sent back when the above
4686 function pointer will be called */
4687 void* pUserData;
4688}WDI_TrafficStatsIndType;
4689
Chet Lanctot186b5732013-03-18 10:26:30 -07004690#ifdef WLAN_FEATURE_11W
4691typedef struct
4692{
4693
4694 wpt_boolean bExcludeUnencrypt;
4695 wpt_macAddr bssid;
4696 /*Request status callback offered by UMAC - it is called if the current
4697 req has returned PENDING as status; it delivers the status of sending
4698 the message over the BUS */
4699 WDI_ReqStatusCb wdiReqStatusCB;
4700
4701 /*The user data passed in by UMAC, it will be sent back when the above
4702 function pointer will be called */
4703 void* pUserData;
4704}WDI_ExcludeUnencryptIndType;
4705#endif
4706
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004707/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004708 WDI_WlanResumeInfoType
4709---------------------------------------------------------------------------*/
4710typedef struct
4711{
4712 /* Mode of Mcast and Bcast filters configured */
4713 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4714}WDI_WlanResumeInfoType;
4715
4716/*---------------------------------------------------------------------------
4717 WDI_ResumeParamsType
4718---------------------------------------------------------------------------*/
4719typedef struct
4720{
4721 WDI_WlanResumeInfoType wdiResumeParams;
4722
4723 /*Request status callback offered by UMAC - it is called if the current
4724 req has returned PENDING as status; it delivers the status of sending
4725 the message over the BUS */
4726 WDI_ReqStatusCb wdiReqStatusCB;
4727
4728 /*The user data passed in by UMAC, it will be sent back when the above
4729 function pointer will be called */
4730 void* pUserData;
4731
4732}WDI_ResumeParamsType;
4733
4734#ifdef WLAN_FEATURE_GTK_OFFLOAD
4735/*---------------------------------------------------------------------------
4736 * WDI_GTK_OFFLOAD_REQ
4737 *--------------------------------------------------------------------------*/
4738
4739typedef struct
4740{
4741 wpt_uint32 ulFlags; /* optional flags */
4742 wpt_uint8 aKCK[16]; /* Key confirmation key */
4743 wpt_uint8 aKEK[16]; /* key encryption key */
4744 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004745 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004746} WDI_GtkOffloadReqParams;
4747
4748typedef struct
4749{
4750 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4751
4752 /*Request status callback offered by UMAC - it is called if the current
4753 req has returned PENDING as status; it delivers the status of sending
4754 the message over the BUS */
4755 WDI_ReqStatusCb wdiReqStatusCB;
4756
4757 /*The user data passed in by UMAC, it will be sent back when the above
4758 function pointer will be called */
4759 void* pUserData;
4760} WDI_GtkOffloadReqMsg;
4761
4762/*---------------------------------------------------------------------------
4763 * WDI_GTK_OFFLOAD_RSP
4764 *--------------------------------------------------------------------------*/
4765typedef struct
4766{
4767 /* success or failure */
4768 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004769 /*BssIdx of the response */
4770 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004771} WDI_GtkOffloadRspParams;
4772
4773typedef struct
4774{
4775 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4776
4777 /*Request status callback offered by UMAC - it is called if the current
4778 req has returned PENDING as status; it delivers the status of sending
4779 the message over the BUS */
4780 WDI_ReqStatusCb wdiReqStatusCB;
4781
4782 /*The user data passed in by UMAC, it will be sent back when the above
4783 function pointer will be called */
4784 void* pUserData;
4785} WDI_GtkOffloadRspMsg;
4786
4787
4788/*---------------------------------------------------------------------------
4789* WDI_GTK_OFFLOAD_GETINFO_REQ
4790*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004791typedef struct
4792{
4793 /*BssIdx of the response */
4794 wpt_macAddr bssId;
4795} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004796
4797typedef struct
4798{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004799
4800 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004801 /*Request status callback offered by UMAC - it is called if the current
4802 req has returned PENDING as status; it delivers the status of sending
4803 the message over the BUS */
4804 WDI_ReqStatusCb wdiReqStatusCB;
4805
4806 /*The user data passed in by UMAC, it will be sent back when the above
4807 function pointer will be called */
4808 void* pUserData;
4809} WDI_GtkOffloadGetInfoReqMsg;
4810
4811/*---------------------------------------------------------------------------
4812* WDI_GTK_OFFLOAD_GETINFO_RSP
4813*--------------------------------------------------------------------------*/
4814typedef struct
4815{
4816 wpt_uint32 ulStatus; /* success or failure */
4817 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4818 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4819 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4820 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304821 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004822} WDI_GtkOffloadGetInfoRspParams;
4823
4824typedef struct
4825{
4826 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4827
4828 /*Request status callback offered by UMAC - it is called if the current
4829 req has returned PENDING as status; it delivers the status of sending
4830 the message over the BUS */
4831 WDI_ReqStatusCb wdiReqStatusCB;
4832
4833 /*The user data passed in by UMAC, it will be sent back when the above
4834 function pointer will be called */
4835 void* pUserData;
4836} WDI_GtkOffloadGetInfoRspMsg;
4837#endif // WLAN_FEATURE_GTK_OFFLOAD
4838
4839/*---------------------------------------------------------------------------
4840 WDI_SuspendResumeRspParamsType
4841---------------------------------------------------------------------------*/
4842typedef struct
4843{
4844 /*Status of the response*/
4845 WDI_Status wdiStatus;
4846}WDI_SuspendResumeRspParamsType;
4847
Leo Chang9056f462013-08-01 19:21:11 -07004848#ifdef FEATURE_WLAN_LPHB
4849/*---------------------------------------------------------------------------
4850 WDI Low Power Heart Beat Config request
4851 Copy from sirApi.h to avoid compile error
4852---------------------------------------------------------------------------*/
4853#define WDI_LPHB_FILTER_LEN 64
4854
4855typedef enum
4856{
4857 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4858 WDI_LPHB_SET_TCP_PARAMS_INDID,
4859 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4860 WDI_LPHB_SET_UDP_PARAMS_INDID,
4861 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4862 WDI_LPHB_SET_NETWORK_INFO_INDID,
4863} WDI_LPHBIndType;
4864
4865typedef struct
4866{
4867 wpt_uint8 enable;
4868 wpt_uint8 item;
4869 wpt_uint8 session;
4870} WDI_LPHBEnableStruct;
4871
4872typedef struct
4873{
4874 wpt_uint32 srv_ip;
4875 wpt_uint32 dev_ip;
4876 wpt_uint16 src_port;
4877 wpt_uint16 dst_port;
4878 wpt_uint16 timeout;
4879 wpt_uint8 session;
4880 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004881 wpt_uint16 timePeriodSec; // in seconds
4882 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004883} WDI_LPHBTcpParamStruct;
4884
4885typedef struct
4886{
4887 wpt_uint16 length;
4888 wpt_uint8 offset;
4889 wpt_uint8 session;
4890 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4891} WDI_LPHBTcpFilterStruct;
4892
4893typedef struct
4894{
4895 wpt_uint32 srv_ip;
4896 wpt_uint32 dev_ip;
4897 wpt_uint16 src_port;
4898 wpt_uint16 dst_port;
4899 wpt_uint16 interval;
4900 wpt_uint16 timeout;
4901 wpt_uint8 session;
4902 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4903} WDI_LPHBUdpParamStruct;
4904
4905typedef struct
4906{
4907 wpt_uint16 length;
4908 wpt_uint8 offset;
4909 wpt_uint8 session;
4910 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4911} WDI_LPHBUdpFilterStruct;
4912
4913typedef struct
4914{
4915 wpt_uint16 cmd;
4916 wpt_uint16 dummy;
4917 union
4918 {
4919 WDI_LPHBEnableStruct lphbEnableReq;
4920 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4921 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4922 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4923 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4924 } params;
4925} WDI_LPHBReq;
4926#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004927
Jeff Johnson295189b2012-06-20 16:38:30 -07004928/*---------------------------------------------------------------------------
4929 WDI_AuthType
4930---------------------------------------------------------------------------*/
4931typedef enum
4932{
4933 WDI_AUTH_TYPE_ANY = 0,
4934
4935 WDI_AUTH_TYPE_NONE,
4936 WDI_AUTH_TYPE_OPEN_SYSTEM,
4937 WDI_AUTH_TYPE_SHARED_KEY,
4938
4939 WDI_AUTH_TYPE_WPA,
4940 WDI_AUTH_TYPE_WPA_PSK,
4941 WDI_AUTH_TYPE_WPA_NONE,
4942
4943 WDI_AUTH_TYPE_RSN,
4944 WDI_AUTH_TYPE_RSN_PSK,
4945 WDI_AUTH_TYPE_FT_RSN,
4946 WDI_AUTH_TYPE_FT_RSN_PSK,
4947 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4948 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4949 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4950
4951}WDI_AuthType;
4952
4953/*---------------------------------------------------------------------------
4954 WDI_EdType
4955---------------------------------------------------------------------------*/
4956typedef enum
4957{
4958 WDI_ED_ANY = 0,
4959 WDI_ED_NONE,
4960 WDI_ED_WEP40,
4961 WDI_ED_WEP104,
4962 WDI_ED_TKIP,
4963 WDI_ED_CCMP,
4964 WDI_ED_WPI,
4965 WDI_ED_AES_128_CMAC,
4966 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4967} WDI_EdType;
4968
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004969#ifdef FEATURE_WLAN_SCAN_PNO
4970
4971/*Max number of channels for a given network supported by PNO*/
4972#define WDI_PNO_MAX_NETW_CHANNELS 26
4973
4974/*Max number of channels for a given network supported by PNO*/
4975#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4976
4977/*The max number of programable networks for PNO*/
4978#define WDI_PNO_MAX_SUPP_NETWORKS 16
4979
4980/*The max number of scan timers programable in Riva*/
4981#define WDI_PNO_MAX_SCAN_TIMERS 10
4982
4983#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004984
4985/*---------------------------------------------------------------------------
4986 WDI_PNOMode
4987---------------------------------------------------------------------------*/
4988typedef enum
4989{
4990 /*Network offload is to start immediately*/
4991 WDI_PNO_MODE_IMMEDIATE,
4992
4993 /*Network offload is to start on host suspend*/
4994 WDI_PNO_MODE_ON_SUSPEND,
4995
4996 /*Network offload is to start on host resume*/
4997 WDI_PNO_MODE_ON_RESUME,
4998 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4999} WDI_PNOMode;
5000
5001/* SSID broadcast type */
5002typedef enum
5003{
5004 WDI_BCAST_UNKNOWN = 0,
5005 WDI_BCAST_NORMAL = 1,
5006 WDI_BCAST_HIDDEN = 2,
5007
5008 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5009} WDI_SSIDBcastType;
5010
5011/*---------------------------------------------------------------------------
5012 WDI_NetworkType
5013---------------------------------------------------------------------------*/
5014typedef struct
5015{
5016 /*The SSID of the preferred network*/
5017 WDI_MacSSid ssId;
5018
5019 /*The authentication method of the preferred network*/
5020 WDI_AuthType wdiAuth;
5021
5022 /*The encryption method of the preferred network*/
5023 WDI_EdType wdiEncryption;
5024
5025 /*SSID broadcast type, normal, hidden or unknown*/
5026 WDI_SSIDBcastType wdiBcastNetworkType;
5027
5028 /*channel count - 0 for all channels*/
5029 wpt_uint8 ucChannelCount;
5030
5031 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305032 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005033
5034 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5035 wpt_uint8 rssiThreshold;
5036} WDI_NetworkType;
5037
5038
5039/*---------------------------------------------------------------------------
5040 WDI_ScanTimer
5041---------------------------------------------------------------------------*/
5042typedef struct
5043{
5044 /*The timer value*/
5045 wpt_uint32 uTimerValue;
5046
5047 /*The amount of time we should be repeating the interval*/
5048 wpt_uint32 uTimerRepeat;
5049} WDI_ScanTimer;
5050
5051/*---------------------------------------------------------------------------
5052 WDI_ScanTimersType
5053---------------------------------------------------------------------------*/
5054typedef struct
5055{
5056 /*The number of value pair intervals present in the array*/
5057 wpt_uint8 ucScanTimersCount;
5058
5059 /*The time-repeat value pairs*/
5060 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5061} WDI_ScanTimersType;
5062
5063/*---------------------------------------------------------------------------
5064 WDI_PNOScanReqType
5065---------------------------------------------------------------------------*/
5066typedef struct
5067{
5068 /*Enable or disable PNO feature*/
5069 wpt_uint8 bEnable;
5070
5071 /*PNO mode requested*/
5072 WDI_PNOMode wdiModePNO;
5073
5074 /*Network count*/
5075 wpt_uint8 ucNetworksCount;
5076
5077 /*The networks to look for*/
5078 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5079
5080 /*Scan timer intervals*/
5081 WDI_ScanTimersType scanTimers;
5082
5083 /*Probe template for 2.4GHz band*/
5084 wpt_uint16 us24GProbeSize;
5085 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5086
5087 /*Probe template for 5GHz band*/
5088 wpt_uint16 us5GProbeSize;
5089 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5090} WDI_PNOScanReqType;
5091
5092/*---------------------------------------------------------------------------
5093 WDI_PNOScanReqParamsType
5094 PNO info passed to WDI form WDA
5095---------------------------------------------------------------------------*/
5096typedef struct
5097{
5098 /* PNO Info Type, same as tPrefNetwListParams */
5099 WDI_PNOScanReqType wdiPNOScanInfo;
5100 /* Request status callback offered by UMAC - it is called if the current req
5101 has returned PENDING as status; it delivers the status of sending the message
5102 over the BUS */
5103 WDI_ReqStatusCb wdiReqStatusCB;
5104 /* The user data passed in by UMAC, it will be sent back when the above
5105 function pointer will be called */
5106 void* pUserData;
5107} WDI_PNOScanReqParamsType;
5108
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005109/*---------------------------------------------------------------------------
5110 WDI_SetRssiFilterReqParamsType
5111 PNO info passed to WDI form WDA
5112---------------------------------------------------------------------------*/
5113typedef struct
5114{
5115 /* RSSI Threshold */
5116 wpt_uint8 rssiThreshold;
5117 /* Request status callback offered by UMAC - it is called if the current req
5118 has returned PENDING as status; it delivers the status of sending the message
5119 over the BUS */
5120 WDI_ReqStatusCb wdiReqStatusCB;
5121 /* The user data passed in by UMAC, it will be sent back when the above
5122 function pointer will be called */
5123 void* pUserData;
5124} WDI_SetRssiFilterReqParamsType;
5125
5126/*---------------------------------------------------------------------------
5127 WDI_UpdateScanParamsInfo
5128---------------------------------------------------------------------------*/
5129typedef struct
5130{
5131 /*Is 11d enabled*/
5132 wpt_uint8 b11dEnabled;
5133
5134 /*Was UMAc able to find the regulatory domain*/
5135 wpt_uint8 b11dResolved;
5136
5137 /*Number of channel allowed in the regulatory domain*/
5138 wpt_uint8 ucChannelCount;
5139
5140 /*The actual channels allowed in the regulatory domain*/
5141 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5142
5143 /*Passive min channel time*/
5144 wpt_uint16 usPassiveMinChTime;
5145
5146 /*Passive max channel time*/
5147 wpt_uint16 usPassiveMaxChTime;
5148
5149 /*Active min channel time*/
5150 wpt_uint16 usActiveMinChTime;
5151
5152 /*Active max channel time*/
5153 wpt_uint16 usActiveMaxChTime;
5154
5155 /*channel bonding info*/
5156 wpt_uint8 cbState;
5157} WDI_UpdateScanParamsInfo;
5158
5159/*---------------------------------------------------------------------------
5160 WDI_UpdateScanParamsInfoType
5161 UpdateScanParams info passed to WDI form WDA
5162---------------------------------------------------------------------------*/
5163typedef struct
5164{
5165 /* PNO Info Type, same as tUpdateScanParams */
5166 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5167 /* Request status callback offered by UMAC - it is called if the current req
5168 has returned PENDING as status; it delivers the status of sending the message
5169 over the BUS */
5170 WDI_ReqStatusCb wdiReqStatusCB;
5171 /* The user data passed in by UMAC, it will be sent back when the above
5172 function pointer will be called */
5173 void* pUserData;
5174} WDI_UpdateScanParamsInfoType;
5175#endif //FEATURE_WLAN_SCAN_PNO
5176
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005177#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5178
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005179#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005180#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005181
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005182typedef struct
5183{
5184 /*The SSID of the preferred network*/
5185 WDI_MacSSid ssId;
5186 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5187
5188 /*The authentication method of the preferred network*/
5189 WDI_AuthType authentication;
5190
5191 /*The encryption method of the preferred network*/
5192 WDI_EdType encryption;
5193 WDI_EdType mcencryption;
5194
5195 /*SSID broadcast type, normal, hidden or unknown*/
5196 //WDI_SSIDBcastType wdiBcastNetworkType;
5197
5198 /*channel count - 0 for all channels*/
5199 wpt_uint8 ChannelCount;
5200
5201 /*the actual channels*/
5202 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5203
5204} WDI_RoamNetworkType;
5205
5206typedef struct WDIMobilityDomainInfo
5207{
5208 wpt_uint8 mdiePresent;
5209 wpt_uint16 mobilityDomain;
5210} WDI_MobilityDomainInfo;
5211
5212/*---------------------------------------------------------------------------
5213 WDI_RoamOffloadScanInfo
5214---------------------------------------------------------------------------*/
5215typedef struct
5216{
5217 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005218 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005219 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005220 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005221 wpt_uint8 RoamRssiDiff;
5222 wpt_uint8 ChannelCacheType;
5223 wpt_uint8 Command;
5224 wpt_uint8 StartScanReason;
5225 wpt_uint16 NeighborScanTimerPeriod;
5226 wpt_uint16 NeighborRoamScanRefreshPeriod;
5227 wpt_uint16 NeighborScanChannelMinTime;
5228 wpt_uint16 NeighborScanChannelMaxTime;
5229 wpt_uint16 EmptyRefreshScanPeriod;
5230 wpt_uint8 ValidChannelCount;
5231 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005232 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005233 /*Probe template for 2.4GHz band*/
5234 wpt_uint16 us24GProbeSize;
5235 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5236
5237 /*Probe template for 5GHz band*/
5238 wpt_uint16 us5GProbeSize;
5239 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005240 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005241 * As per requirement, later, the following structure can be used as an array of networks.*/
5242 WDI_RoamNetworkType ConnectedNetwork;
5243 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005244 wpt_uint8 nProbes;
5245 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005246} WDI_RoamOffloadScanInfo;
5247
5248typedef struct
5249{
5250 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5251 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5252 /* Request status callback offered by UMAC - it is called if the current req
5253 has returned PENDING as status; it delivers the status of sending the message
5254 over the BUS */
5255 WDI_ReqStatusCb wdiReqStatusCB;
5256 /* The user data passed in by UMAC, it will be sent back when the above
5257 function pointer will be called */
5258 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005259} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005260#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005261
5262/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305263 WDI_HT40ObssScanIndType
5264---------------------------------------------------------------------------*/
5265typedef struct
5266{
5267 wpt_uint8 cmdType;
5268 wpt_uint8 scanType;
5269 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5270 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5271 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5272 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5273 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5274 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5275 wpt_uint16 OBSSScanActivityThreshold;
5276 wpt_uint8 selfStaIdx;
5277 wpt_uint8 bssIdx;
5278 wpt_uint8 fortyMHZIntolerent;
5279 wpt_uint8 channelCount;
5280 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5281 wpt_uint8 currentOperatingClass;
5282 wpt_uint16 ieFieldLen;
5283 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5284} WDI_HT40ObssScanIndType;
5285
5286
5287/*---------------------------------------------------------------------------
5288 WDI_OBSSScanIndParamsType
5289---------------------------------------------------------------------------*/
5290typedef struct
5291{
5292 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5293
5294 /*Request status callback offered by UMAC - it is called if the current
5295 req has returned PENDING as status; it delivers the status of sending
5296 the message over the BUS */
5297 WDI_ReqStatusCb wdiReqStatusCB;
5298
5299 /*The user data passed in by UMAC, it will be sent back when the above
5300 function pointer will be called */
5301 void* pUserData;
5302
5303}WDI_HT40ObssScanParamsType;
5304
5305/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005306 WDI_UpdateScanParamsInfo
5307---------------------------------------------------------------------------*/
5308typedef struct
5309{
5310 /* Ignore DTIM */
5311 wpt_uint32 uIgnoreDTIM;
5312
5313 /*DTIM Period*/
5314 wpt_uint32 uDTIMPeriod;
5315
5316 /* Listen Interval */
5317 wpt_uint32 uListenInterval;
5318
5319 /* Broadcast Multicas Filter */
5320 wpt_uint32 uBcastMcastFilter;
5321
5322 /* Beacon Early Termination */
5323 wpt_uint32 uEnableBET;
5324
5325 /* Beacon Early Termination Interval */
5326 wpt_uint32 uBETInterval;
5327
Yue Mac24062f2013-05-13 17:01:29 -07005328 /* MAX LI for modulated DTIM */
5329 wpt_uint32 uMaxLIModulatedDTIM;
5330
Jeff Johnson295189b2012-06-20 16:38:30 -07005331} WDI_SetPowerParamsInfo;
5332
5333/*---------------------------------------------------------------------------
5334 WDI_UpdateScanParamsInfoType
5335 UpdateScanParams info passed to WDI form WDA
5336---------------------------------------------------------------------------*/
5337typedef struct
5338{
5339 /* Power params Info Type, same as tSetPowerParamsReq */
5340 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5341 /* Request status callback offered by UMAC - it is called if the current req
5342 has returned PENDING as status; it delivers the status of sending the message
5343 over the BUS */
5344 WDI_ReqStatusCb wdiReqStatusCB;
5345 /* The user data passed in by UMAC, it will be sent back when the above
5346 function pointer will be called */
5347 void* pUserData;
5348}WDI_SetPowerParamsReqParamsType;
5349
5350/*---------------------------------------------------------------------------
5351 WDI_SetTxPerTrackingConfType
5352 Wowl add ptrn info passed to WDA form UMAC
5353---------------------------------------------------------------------------*/
5354typedef struct
5355{
5356 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5357 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5358 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5359 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5360} WDI_TxPerTrackingParamType;
5361
5362/*---------------------------------------------------------------------------
5363 WDI_SetTxPerTrackingReqParamsType
5364 Tx PER Tracking parameters passed to WDI from WDA
5365---------------------------------------------------------------------------*/
5366typedef struct
5367{
5368 /* Configurations for Tx PER Tracking */
5369 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5370 /*Request status callback offered by UMAC - it is called if the current req
5371 has returned PENDING as status; it delivers the status of sending the message
5372 over the BUS */
5373 WDI_ReqStatusCb wdiReqStatusCB;
5374 /*The user data passed in by UMAC, it will be sent back when the above
5375 function pointer will be called */
5376 void* pUserData;
5377}WDI_SetTxPerTrackingReqParamsType;
5378
5379#ifdef WLAN_FEATURE_PACKET_FILTERING
5380/*---------------------------------------------------------------------------
5381 Packet Filtering Parameters
5382---------------------------------------------------------------------------*/
5383
5384#define WDI_IPV4_ADDR_LEN 4
5385#define WDI_MAC_ADDR_LEN 6
5386#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5387#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5388#define WDI_MAX_NUM_FILTERS 20
5389#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5390
5391//
5392// Receive Filter Parameters
5393//
5394typedef enum
5395{
5396 WDI_RCV_FILTER_TYPE_INVALID,
5397 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5398 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5399 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5400}WDI_ReceivePacketFilterType;
5401
5402typedef enum
5403{
5404 WDI_FILTER_HDR_TYPE_INVALID,
5405 WDI_FILTER_HDR_TYPE_MAC,
5406 WDI_FILTER_HDR_TYPE_ARP,
5407 WDI_FILTER_HDR_TYPE_IPV4,
5408 WDI_FILTER_HDR_TYPE_IPV6,
5409 WDI_FILTER_HDR_TYPE_UDP,
5410 WDI_FILTER_HDR_TYPE_MAX
5411}WDI_RcvPktFltProtocolType;
5412
5413typedef enum
5414{
5415 WDI_FILTER_CMP_TYPE_INVALID,
5416 WDI_FILTER_CMP_TYPE_EQUAL,
5417 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5418 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5419 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5420 WDI_FILTER_CMP_TYPE_MAX
5421}WDI_RcvPktFltCmpFlagType;
5422
5423typedef struct
5424{
5425 WDI_RcvPktFltProtocolType protocolLayer;
5426 WDI_RcvPktFltCmpFlagType cmpFlag;
5427/* Length of the data to compare */
5428 wpt_uint16 dataLength;
5429/* from start of the respective frame header */
5430 wpt_uint8 dataOffset;
5431 wpt_uint8 reserved; /* Reserved field */
5432/* Data to compare */
5433 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5434/* Mask to be applied on the received packet data before compare */
5435 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5436}WDI_RcvPktFilterFieldParams;
5437
5438typedef struct
5439{
5440 wpt_uint8 filterId;
5441 wpt_uint8 filterType;
5442 wpt_uint32 numFieldParams;
5443 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005444 wpt_macAddr selfMacAddr;
5445 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005446 WDI_RcvPktFilterFieldParams paramsData[1];
5447
Jeff Johnson295189b2012-06-20 16:38:30 -07005448}WDI_RcvPktFilterCfgType;
5449
5450typedef struct
5451{
5452 /*Request status callback offered by UMAC - it is called if the current
5453 req has returned PENDING as status; it delivers the status of sending
5454 the message over the BUS */
5455 WDI_ReqStatusCb wdiReqStatusCB;
5456
5457 /*The user data passed in by UMAC, it will be sent back when the above
5458 function pointer will be called */
5459 void* pUserData;
5460
5461 // Variable length packet filter field params
5462 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5463} WDI_SetRcvPktFilterReqParamsType;
5464
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005465typedef struct
5466{
5467 /*Result of the operation*/
5468 WDI_Status wdiStatus;
5469 /* BSSIDX of the Set Receive Filter
5470 */
5471 wpt_uint8 bssIdx;
5472} WDI_SetRcvPktFilterRspParamsType;
5473
Jeff Johnson295189b2012-06-20 16:38:30 -07005474//
5475// Filter Packet Match Count Parameters
5476//
5477typedef struct
5478{
5479 /*Request status callback offered by UMAC - it is called if the current
5480 req has returned PENDING as status; it delivers the status of sending
5481 the message over the BUS */
5482 WDI_ReqStatusCb wdiReqStatusCB;
5483
5484 /*The user data passed in by UMAC, it will be sent back when the above
5485 function pointer will be called */
5486 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005487
5488 /* BSSID of the Match count
5489 */
5490 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005491} WDI_RcvFltPktMatchCntReqParamsType;
5492
5493typedef struct
5494{
5495 wpt_uint8 filterId;
5496 wpt_uint32 matchCnt;
5497} WDI_RcvFltPktMatchCnt;
5498
5499typedef struct
5500{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005501 /*Result of the operation*/
5502 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005503
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005504 /* BSSIDX of the Match count response
5505 */
5506 wpt_uint8 bssIdx;
5507
Jeff Johnson295189b2012-06-20 16:38:30 -07005508} WDI_RcvFltPktMatchCntRspParamsType;
5509
Jeff Johnson295189b2012-06-20 16:38:30 -07005510//
5511// Receive Filter Clear Parameters
5512//
5513typedef struct
5514{
5515 wpt_uint32 status; /* only valid for response message */
5516 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005517 wpt_macAddr selfMacAddr;
5518 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005519}WDI_RcvFltPktClearParam;
5520
5521typedef struct
5522{
5523 WDI_RcvFltPktClearParam filterClearParam;
5524 /*Request status callback offered by UMAC - it is called if the current
5525 req has returned PENDING as status; it delivers the status of sending
5526 the message over the BUS */
5527 WDI_ReqStatusCb wdiReqStatusCB;
5528
5529 /*The user data passed in by UMAC, it will be sent back when the above
5530 function pointer will be called */
5531 void* pUserData;
5532} WDI_RcvFltPktClearReqParamsType;
5533
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005534typedef struct
5535{
5536 /*Result of the operation*/
5537 WDI_Status wdiStatus;
5538 /* BSSIDX of the Match count response
5539 */
5540 wpt_uint8 bssIdx;
5541
5542} WDI_RcvFltPktClearRspParamsType;
5543
Jeff Johnson295189b2012-06-20 16:38:30 -07005544//
5545// Multicast Address List Parameters
5546//
5547typedef struct
5548{
5549 wpt_uint32 ulMulticastAddrCnt;
5550 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005551 wpt_macAddr selfMacAddr;
5552 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005553} WDI_RcvFltMcAddrListType;
5554
5555typedef struct
5556{
5557 WDI_RcvFltMcAddrListType mcAddrList;
5558 /*Request status callback offered by UMAC - it is called if the current
5559 req has returned PENDING as status; it delivers the status of sending
5560 the message over the BUS */
5561 WDI_ReqStatusCb wdiReqStatusCB;
5562
5563 /*The user data passed in by UMAC, it will be sent back when the above
5564 function pointer will be called */
5565 void* pUserData;
5566} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005567
5568typedef struct
5569{
5570 /*Result of the operation*/
5571 WDI_Status wdiStatus;
5572 /* BSSIDX of the Match count response
5573 */
5574 wpt_uint8 bssIdx;
5575} WDI_RcvFltPktSetMcListRspParamsType;
5576
Jeff Johnson295189b2012-06-20 16:38:30 -07005577#endif // WLAN_FEATURE_PACKET_FILTERING
5578
5579/*---------------------------------------------------------------------------
5580 WDI_HALDumpCmdReqInfoType
5581---------------------------------------------------------------------------*/
5582typedef struct
5583{
5584 /*command*/
5585 wpt_uint32 command;
5586
5587 /*Arguments*/
5588 wpt_uint32 argument1;
5589 wpt_uint32 argument2;
5590 wpt_uint32 argument3;
5591 wpt_uint32 argument4;
5592
5593}WDI_HALDumpCmdReqInfoType;
5594
5595/*---------------------------------------------------------------------------
5596 WDI_HALDumpCmdReqParamsType
5597---------------------------------------------------------------------------*/
5598typedef struct
5599{
5600 /*NV Blob Info*/
5601 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5602
5603 /*Request status callback offered by UMAC - it is called if the current
5604 req has returned PENDING as status; it delivers the status of sending
5605 the message over the BUS */
5606 WDI_ReqStatusCb wdiReqStatusCB;
5607
5608 /*The user data passed in by UMAC, it will be sent back when the above
5609 function pointer will be called */
5610 void* pUserData;
5611
5612}WDI_HALDumpCmdReqParamsType;
5613
5614
5615/*---------------------------------------------------------------------------
5616 WDI_HALDumpCmdRspParamsType
5617---------------------------------------------------------------------------*/
5618typedef struct
5619{
5620 /*Result of the operation*/
5621 WDI_Status wdiStatus;
5622
5623 /* length of the buffer */
5624 wpt_uint16 usBufferLen;
5625
5626 /* Buffer */
5627 wpt_uint8 *pBuffer;
5628}WDI_HALDumpCmdRspParamsType;
5629
5630
5631/*---------------------------------------------------------------------------
5632 WDI_SetTmLevelReqType
5633---------------------------------------------------------------------------*/
5634typedef struct
5635{
5636 wpt_uint16 tmMode;
5637 wpt_uint16 tmLevel;
5638 void* pUserData;
5639}WDI_SetTmLevelReqType;
5640
5641/*---------------------------------------------------------------------------
5642 WDI_SetTmLevelRspType
5643---------------------------------------------------------------------------*/
5644typedef struct
5645{
5646 WDI_Status wdiStatus;
5647 void* pUserData;
5648}WDI_SetTmLevelRspType;
5649
Leo Chang9056f462013-08-01 19:21:11 -07005650#ifdef FEATURE_WLAN_LPHB
5651/*---------------------------------------------------------------------------
5652 WDI_LPHBConfigParamsType
5653---------------------------------------------------------------------------*/
5654typedef struct
5655{
5656 void* pLphsConfIndData;
5657}WDI_LPHBConfigParamsType;
5658#endif /* FEATURE_WLAN_LPHB */
5659
Yue Mab9c86f42013-08-14 15:59:08 -07005660/*---------------------------------------------------------------------------
5661 WDI_AddPeriodicTxPtrnInfoType
5662---------------------------------------------------------------------------*/
5663typedef struct
5664{
5665 /* MAC Address for the adapter */
5666 wpt_macAddr macAddr;
5667
5668 wpt_uint8 ucPtrnId; // Pattern ID
5669 wpt_uint16 ucPtrnSize; // Pattern size
5670 wpt_uint32 usPtrnIntervalMs; // In msec
5671 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5672} WDI_AddPeriodicTxPtrnInfoType;
5673
5674/*---------------------------------------------------------------------------
5675 WDI_DelPeriodicTxPtrnInfoType
5676---------------------------------------------------------------------------*/
5677typedef struct
5678{
5679 /* MAC Address for the adapter */
5680 wpt_macAddr macAddr;
5681
5682 /* Bitmap of pattern IDs that needs to be deleted */
5683 wpt_uint32 ucPatternIdBitmap;
5684} WDI_DelPeriodicTxPtrnInfoType;
5685
5686/*---------------------------------------------------------------------------
5687 WDI_AddPeriodicTxPtrnParamsType
5688---------------------------------------------------------------------------*/
5689typedef struct
5690{
5691 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5692
5693 /*Request status callback offered by UMAC - it is called if the current
5694 req has returned PENDING as status; it delivers the status of sending
5695 the message over the BUS */
5696 WDI_ReqStatusCb wdiReqStatusCB;
5697
5698 /*The user data passed in by UMAC, it will be sent back when the above
5699 function pointer will be called */
5700 void* pUserData;
5701} WDI_AddPeriodicTxPtrnParamsType;
5702
5703/*---------------------------------------------------------------------------
5704 WDI_DelPeriodicTxPtrnParamsType
5705---------------------------------------------------------------------------*/
5706typedef struct
5707{
5708 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5709
5710 /*Request status callback offered by UMAC - it is called if the current
5711 req has returned PENDING as status; it delivers the status of sending
5712 the message over the BUS */
5713 WDI_ReqStatusCb wdiReqStatusCB;
5714
5715 /*The user data passed in by UMAC, it will be sent back when the above
5716 function pointer will be called */
5717 void* pUserData;
5718} WDI_DelPeriodicTxPtrnParamsType;
5719
Dino Mycle41bdc942014-06-10 11:30:24 +05305720#ifdef WLAN_FEATURE_EXTSCAN
5721
5722#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5723#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5724#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5725#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5726
5727typedef enum
5728{
5729 WDI_WIFI_BAND_UNSPECIFIED,
5730 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5731 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5732 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5733 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5734 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5735 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5736
5737 /* Keep it last */
5738 WDI_WIFI_BAND_MAX
5739} WDI_WifiBand;
5740
5741typedef struct
5742{
5743 wpt_uint32 channel; // frequency
5744 wpt_uint32 dwellTimeMs; // dwell time hint
5745 wpt_uint8 passive; // 0 => active,
5746 // 1 => passive scan; ignored for DFS
5747 wpt_uint8 chnlClass;
5748} WDI_WifiScanChannelSpec;
5749
5750typedef struct
5751{
5752 wpt_uint8 bucket; // bucket index, 0 based
5753 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5754
5755 /*
5756 * desired period, in millisecond; if this is too
5757 * low, the firmware should choose to generate results as fast as
5758 * it can instead of failing the command byte
5759 */
5760 wpt_uint32 period;
5761
5762 /*
5763 * 0 => normal reporting (reporting rssi history
5764 * only, when rssi history buffer is % full)
5765 * 1 => same as 0 + report a scan completion event after scanning
5766 * this bucket
5767 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5768 * in real time to HAL
5769 */
5770 wpt_uint8 reportEvents;
5771
5772 wpt_uint8 numChannels;
5773
5774 /*
5775 * channels to scan; these may include DFS channels
5776 */
5777 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5778} WDI_WifiScanBucketSpec;
5779
5780typedef struct
5781{
5782 wpt_uint32 requestId;
5783 wpt_uint8 sessionId;
5784 wpt_uint32 basePeriod; // base timer period
5785 wpt_uint32 maxAPperScan;
5786
5787 /* in %, when buffer is this much full, wake up host */
5788 wpt_uint32 reportThreshold;
5789
5790 wpt_uint8 numBuckets;
5791 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5792} WDI_EXTScanStartReqParams;
5793
5794typedef struct
5795{
5796 wpt_uint32 requestId;
5797 wpt_uint8 sessionId;
5798} WDI_EXTScanStopReqParams;
5799
5800typedef struct
5801{
5802 wpt_uint32 requestId;
5803 wpt_uint8 sessionId;
5804
5805 /*
5806 * 1 return cached results and flush it
5807 * 0 return cached results and do not flush
5808 */
5809 wpt_boolean flush;
5810} WDI_EXTScanGetCachedResultsReqParams;
5811
5812typedef struct
5813{
5814 wpt_uint32 requestId;
5815 wpt_uint8 sessionId;
5816} WDI_EXTScanGetCapabilitiesReqParams;
5817
5818typedef struct
5819{
5820 wpt_uint8 bssid[6]; /* BSSID */
5821 wpt_int32 low; // low threshold
5822 wpt_int32 high; // high threshold
5823 wpt_uint32 channel; // channel hint
5824} WDI_APThresholdParam;
5825
5826typedef struct
5827{
5828 wpt_int32 requestId;
5829 wpt_int8 sessionId; // session Id mapped to vdev_id
5830
5831 wpt_int32 numAp; // number of hotlist APs
5832 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5833} WDI_EXTScanSetBSSIDHotlistReqParams;
5834
5835typedef struct
5836{
5837 wpt_uint32 requestId;
5838 wpt_uint8 sessionId;
5839} WDI_EXTScanResetBSSIDHotlistReqParams;
5840
5841
5842typedef struct
5843{
5844 wpt_int32 requestId;
5845 wpt_int8 sessionId; // session Id mapped to vdev_id
5846
5847 /* number of samples for averaging RSSI */
5848 wpt_int32 rssiSampleSize;
5849
5850 /* number of missed samples to confirm AP loss */
5851 wpt_int32 lostApSampleSize;
5852
5853 /* number of APs breaching threshold required for firmware
5854 * to generate event
5855 */
5856 wpt_int32 minBreaching;
5857
5858 wpt_int32 numAp; // number of hotlist APs
5859 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5860} WDI_EXTScanSetSignfRSSIChangeReqParams;
5861
5862typedef struct
5863{
5864 wpt_uint32 requestId;
5865 wpt_uint8 sessionId;
5866} WDI_EXTScanResetSignfRSSIChangeReqParams;
5867#endif /* WLAN_FEATURE_EXTSCAN */
5868
Sunil Duttbd736ed2014-05-26 21:19:41 +05305869#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5870typedef struct
5871{
5872 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305873 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305874 wpt_uint32 mpduSizeThreshold;
5875 wpt_uint32 aggressiveStatisticsGathering;
5876}WDI_LLStatsSetReqType;
5877
5878typedef struct
5879{
5880 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305881 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305882 wpt_uint32 paramIdMask;
5883}WDI_LLStatsGetReqType;
5884
5885typedef struct
5886{
5887 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305888 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305889 wpt_uint32 statsClearReqMask;
5890 wpt_uint8 stopReq;
5891}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305892
Sunil Duttbd736ed2014-05-26 21:19:41 +05305893#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5894
Siddharth Bhal171788a2014-09-29 21:02:40 +05305895/*---------------------------------------------------------------------------
5896 WDI_SPOOF_MAC_ADDR_REQ
5897---------------------------------------------------------------------------*/
5898typedef struct
5899{
5900 /* Spoof MAC Address for FW */
5901 wpt_macAddr macAddr;
5902
5903 /* Reserved Params/fields */
5904 wpt_uint32 params;
5905 wpt_uint32 reserved;
5906} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305907
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05305908//This is to force compiler to use the maximum of an int for enum
5909#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
5910// Enum to specify whether key is used
5911// for TX only, RX only or both
5912typedef enum
5913{
5914 eWDI_TX_ONLY,
5915 eWDI_RX_ONLY,
5916 eWDI_TX_RX,
5917 eWDI_TX_DEFAULT,
5918 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
5919} tWDIKeyDirection;
5920
5921// MAX key length when ULA is used
5922#define SIR_MAC_MAX_KEY_LENGTH 32
5923/* Max key size including the WAPI and TKIP */
5924#define WLAN_MAX_KEY_RSC_LEN 16
5925// Definition for Encryption Keys
5926//typedef struct sSirKeys
5927typedef struct
5928{
5929 wpt_uint8 keyId;
5930 wpt_uint8 unicast; // 0 for multicast
5931 tWDIKeyDirection keyDirection;
5932 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
5933 wpt_uint8 paeRole; // =1 for authenticator,
5934 // =0 for supplicant
5935 wpt_uint16 keyLength;
5936 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
5937} tWDIKeys, *tpWDIKeys;
5938
5939typedef enum
5940{
5941 eWDI_WEP_STATIC,
5942 eWDI_WEP_DYNAMIC,
5943} tWDIWepType;
5944
5945// Encryption type enum used with peer
5946typedef enum
5947{
5948 eWDI_ED_NONE,
5949 eWDI_ED_WEP40,
5950 eWDI_ED_WEP104,
5951 eWDI_ED_TKIP,
5952 eWDI_ED_CCMP,
5953#if defined(FEATURE_WLAN_WAPI)
5954 eWDI_ED_WPI,
5955#endif
5956 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
5957 * Thus while setting BIP encryption mode in corresponding DPU Desc
5958 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
5959 */
5960 eWDI_ED_AES_128_CMAC,
5961 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
5962} tWDIEdType;
5963#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
5964/*
5965 * This is used by PE to configure the key information on a given station.
5966 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
5967 * a preconfigured key from a BSS the station assoicated with; otherwise
5968 * a new key descriptor is created based on the key field.
5969 */
5970typedef struct
5971{
5972 wpt_uint16 staIdx;
5973 tWDIEdType encType; // Encryption/Decryption type
5974 tWDIWepType wepType; // valid only for WEP
5975 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
5976 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
5977 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
5978 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
5979} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
5980
5981typedef struct
5982{
5983 tWDISetStaKeyParams keyParams;
5984 wpt_uint8 pn[6];
5985}wpt_encConfigParams;
5986
5987typedef struct
5988{
5989 wpt_uint16 length;
5990 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
5991}wpt_payload;
5992
5993typedef struct
5994{
5995 wpt_80211Header macHeader;
5996 wpt_encConfigParams encParams;
5997 wpt_payload data;
5998}wpt_pkt80211;
5999
Jeff Johnson295189b2012-06-20 16:38:30 -07006000/*----------------------------------------------------------------------------
6001 * WDI callback types
6002 *--------------------------------------------------------------------------*/
6003
6004/*---------------------------------------------------------------------------
6005 WDI_StartRspCb
6006
6007 DESCRIPTION
6008
6009 This callback is invoked by DAL when it has received a Start response from
6010 the underlying device.
6011
6012 PARAMETERS
6013
6014 IN
6015 wdiRspParams: response parameters received from HAL
6016 pUserData: user data
6017
6018
6019 RETURN VALUE
6020 The result code associated with performing the operation
6021---------------------------------------------------------------------------*/
6022typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6023 void* pUserData);
6024
6025/*---------------------------------------------------------------------------
6026 WDI_StartRspCb
6027
6028 DESCRIPTION
6029
6030 This callback is invoked by DAL when it has received a Stop response from
6031 the underlying device.
6032
6033 PARAMETERS
6034
6035 IN
6036 wdiStatus: response status received from HAL
6037 pUserData: user data
6038
6039
6040
6041 RETURN VALUE
6042 The result code associated with performing the operation
6043---------------------------------------------------------------------------*/
6044typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6045 void* pUserData);
6046
6047/*---------------------------------------------------------------------------
6048 WDI_StartRspCb
6049
6050 DESCRIPTION
6051
6052 This callback is invoked by DAL when it has received an Init Scan response
6053 from the underlying device.
6054
6055 PARAMETERS
6056
6057 IN
6058 wdiStatus: response status received from HAL
6059 pUserData: user data
6060
6061
6062
6063 RETURN VALUE
6064 The result code associated with performing the operation
6065---------------------------------------------------------------------------*/
6066typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6067 void* pUserData);
6068
6069
6070/*---------------------------------------------------------------------------
6071 WDI_StartRspCb
6072
6073 DESCRIPTION
6074
6075 This callback is invoked by DAL when it has received a StartScan response
6076 from the underlying device.
6077
6078 PARAMETERS
6079
6080 IN
6081 wdiParams: response params received from HAL
6082 pUserData: user data
6083
6084
6085
6086 RETURN VALUE
6087 The result code associated with performing the operation
6088---------------------------------------------------------------------------*/
6089typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6090 void* pUserData);
6091
6092
6093/*---------------------------------------------------------------------------
6094 WDI_StartRspCb
6095
6096 DESCRIPTION
6097
6098 This callback is invoked by DAL when it has received a End Scan response
6099 from the underlying device.
6100
6101 PARAMETERS
6102
6103 IN
6104 wdiStatus: response status received from HAL
6105 pUserData: user data
6106
6107
6108
6109 RETURN VALUE
6110 The result code associated with performing the operation
6111---------------------------------------------------------------------------*/
6112typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6113 void* pUserData);
6114
6115
6116/*---------------------------------------------------------------------------
6117 WDI_StartRspCb
6118
6119 DESCRIPTION
6120
6121 This callback is invoked by DAL when it has received a Finish Scan response
6122 from the underlying device.
6123
6124 PARAMETERS
6125
6126 IN
6127 wdiStatus: response status received from HAL
6128 pUserData: user data
6129
6130
6131
6132 RETURN VALUE
6133 The result code associated with performing the operation
6134---------------------------------------------------------------------------*/
6135typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6136 void* pUserData);
6137
6138
6139/*---------------------------------------------------------------------------
6140 WDI_StartRspCb
6141
6142 DESCRIPTION
6143
6144 This callback is invoked by DAL when it has received a Join response from
6145 the underlying device.
6146
6147 PARAMETERS
6148
6149 IN
6150 wdiStatus: response status received from HAL
6151 pUserData: user data
6152
6153
6154
6155 RETURN VALUE
6156 The result code associated with performing the operation
6157---------------------------------------------------------------------------*/
6158typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6159 void* pUserData);
6160
6161
6162/*---------------------------------------------------------------------------
6163 WDI_StartRspCb
6164
6165 DESCRIPTION
6166
6167 This callback is invoked by DAL when it has received a Config BSS response
6168 from the underlying device.
6169
6170 PARAMETERS
6171
6172 IN
6173 wdiConfigBSSRsp: response parameters received from HAL
6174 pUserData: user data
6175
6176
6177 RETURN VALUE
6178 The result code associated with performing the operation
6179---------------------------------------------------------------------------*/
6180typedef void (*WDI_ConfigBSSRspCb)(
6181 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6182 void* pUserData);
6183
6184
6185/*---------------------------------------------------------------------------
6186 WDI_StartRspCb
6187
6188 DESCRIPTION
6189
6190 This callback is invoked by DAL when it has received a Del BSS response from
6191 the underlying device.
6192
6193 PARAMETERS
6194
6195 IN
6196 wdiDelBSSRsp: response parameters received from HAL
6197 pUserData: user data
6198
6199
6200 RETURN VALUE
6201 The result code associated with performing the operation
6202---------------------------------------------------------------------------*/
6203typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6204 void* pUserData);
6205
6206
6207/*---------------------------------------------------------------------------
6208 WDI_StartRspCb
6209
6210 DESCRIPTION
6211
6212 This callback is invoked by DAL when it has received a Post Assoc response
6213 from the underlying device.
6214
6215 PARAMETERS
6216
6217 IN
6218 wdiRspParams: response parameters received from HAL
6219 pUserData: user data
6220
6221
6222 RETURN VALUE
6223 The result code associated with performing the operation
6224---------------------------------------------------------------------------*/
6225typedef void (*WDI_PostAssocRspCb)(
6226 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6227 void* pUserData);
6228
6229
6230/*---------------------------------------------------------------------------
6231 WDI_StartRspCb
6232
6233 DESCRIPTION
6234
6235 This callback is invoked by DAL when it has received a Del STA response from
6236 the underlying device.
6237
6238 PARAMETERS
6239
6240 IN
6241 wdiDelSTARsp: response parameters received from HAL
6242 pUserData: user data
6243
6244
6245 RETURN VALUE
6246 The result code associated with performing the operation
6247---------------------------------------------------------------------------*/
6248typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6249 void* pUserData);
6250
6251
6252
6253/*---------------------------------------------------------------------------
6254 WDI_StartRspCb
6255
6256 DESCRIPTION
6257
6258 This callback is invoked by DAL when it has received a Set BSS Key response
6259 from the underlying device.
6260
6261 PARAMETERS
6262
6263 IN
6264 wdiStatus: response status received from HAL
6265 pUserData: user data
6266
6267
6268
6269 RETURN VALUE
6270 The result code associated with performing the operation
6271---------------------------------------------------------------------------*/
6272typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6273 void* pUserData);
6274
6275/*---------------------------------------------------------------------------
6276 WDI_StartRspCb
6277
6278 DESCRIPTION
6279
6280 This callback is invoked by DAL when it has received a Remove BSS Key
6281 response from the underlying device.
6282
6283 PARAMETERS
6284
6285 IN
6286 wdiStatus: response status received from HAL
6287 pUserData: user data
6288
6289
6290
6291 RETURN VALUE
6292 The result code associated with performing the operation
6293---------------------------------------------------------------------------*/
6294typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6295 void* pUserData);
6296
6297/*---------------------------------------------------------------------------
6298 WDI_StartRspCb
6299
6300 DESCRIPTION
6301
6302 This callback is invoked by DAL when it has received a Set STA Key response
6303 from the underlying device.
6304
6305 PARAMETERS
6306
6307 IN
6308 wdiStatus: response status received from HAL
6309 pUserData: user data
6310
6311
Jeff Johnson295189b2012-06-20 16:38:30 -07006312 RETURN VALUE
6313 The result code associated with performing the operation
6314---------------------------------------------------------------------------*/
6315typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6316 void* pUserData);
6317
Jeff Johnson295189b2012-06-20 16:38:30 -07006318/*---------------------------------------------------------------------------
6319 WDI_StartRspCb
6320
6321 DESCRIPTION
6322
6323 This callback is invoked by DAL when it has received a Remove STA Key
6324 response from the underlying device.
6325
6326 PARAMETERS
6327
6328 IN
6329 wdiStatus: response status received from HAL
6330 pUserData: user data
6331
Siddharth Bhal171788a2014-09-29 21:02:40 +05306332
Jeff Johnson295189b2012-06-20 16:38:30 -07006333 RETURN VALUE
6334 The result code associated with performing the operation
6335---------------------------------------------------------------------------*/
6336typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6337 void* pUserData);
6338
6339
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006340#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006341/*---------------------------------------------------------------------------
6342 WDI_TsmRspCb
6343
6344 DESCRIPTION
6345
6346 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6347
6348 PARAMETERS
6349
6350 IN
6351 pTSMStats: response status received from HAL
6352 pUserData: user data
6353
6354
6355
6356 RETURN VALUE
6357 The result code associated with performing the operation
6358---------------------------------------------------------------------------*/
6359typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6360 void* pUserData);
6361#endif
6362
6363/*---------------------------------------------------------------------------
6364 WDI_StartRspCb
6365
6366 DESCRIPTION
6367
6368 This callback is invoked by DAL when it has received a Add TS response from
6369 the underlying device.
6370
6371 PARAMETERS
6372
6373 IN
6374 wdiStatus: response status received from HAL
6375 pUserData: user data
6376
6377
6378
6379 RETURN VALUE
6380 The result code associated with performing the operation
6381---------------------------------------------------------------------------*/
6382typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6383 void* pUserData);
6384
6385/*---------------------------------------------------------------------------
6386 WDI_StartRspCb
6387
6388 DESCRIPTION
6389
6390 This callback is invoked by DAL when it has received a Del TS response from
6391 the underlying device.
6392
6393 PARAMETERS
6394
6395 IN
6396 wdiStatus: response status received from HAL
6397 pUserData: user data
6398
6399
6400
6401 RETURN VALUE
6402 The result code associated with performing the operation
6403---------------------------------------------------------------------------*/
6404typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6405 void* pUserData);
6406
6407/*---------------------------------------------------------------------------
6408 WDI_StartRspCb
6409
6410 DESCRIPTION
6411
6412 This callback is invoked by DAL when it has received an Update EDCA Params
6413 response from the underlying device.
6414
6415 PARAMETERS
6416
6417 IN
6418 wdiStatus: response status received from HAL
6419 pUserData: user data
6420
6421
6422
6423 RETURN VALUE
6424 The result code associated with performing the operation
6425---------------------------------------------------------------------------*/
6426typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6427 void* pUserData);
6428
6429/*---------------------------------------------------------------------------
6430 WDI_StartRspCb
6431
6432 DESCRIPTION
6433
6434 This callback is invoked by DAL when it has received a Add BA response from
6435 the underlying device.
6436
6437 PARAMETERS
6438
6439 IN
6440 wdiStatus: response status received from HAL
6441 pUserData: user data
6442
6443
6444
6445 RETURN VALUE
6446 The result code associated with performing the operation
6447---------------------------------------------------------------------------*/
6448typedef void (*WDI_AddBASessionRspCb)(
6449 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6450 void* pUserData);
6451
6452
6453/*---------------------------------------------------------------------------
6454 WDI_StartRspCb
6455
6456 DESCRIPTION
6457
6458 This callback is invoked by DAL when it has received a Del BA response from
6459 the underlying device.
6460
6461 PARAMETERS
6462
6463 IN
6464 wdiStatus: response status received from HAL
6465 pUserData: user data
6466
6467
6468
6469 RETURN VALUE
6470 The result code associated with performing the operation
6471---------------------------------------------------------------------------*/
6472typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6473 void* pUserData);
6474
6475
6476/*---------------------------------------------------------------------------
6477 WDI_StartRspCb
6478
6479 DESCRIPTION
6480
6481 This callback is invoked by DAL when it has received a Switch Ch response
6482 from the underlying device.
6483
6484 PARAMETERS
6485
6486 IN
6487 wdiRspParams: response parameters received from HAL
6488 pUserData: user data
6489
6490
6491 RETURN VALUE
6492 The result code associated with performing the operation
6493---------------------------------------------------------------------------*/
6494typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6495 void* pUserData);
6496
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006497typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6498 void* pUserData);
6499
Jeff Johnson295189b2012-06-20 16:38:30 -07006500
6501/*---------------------------------------------------------------------------
6502 WDI_StartRspCb
6503
6504 DESCRIPTION
6505
6506 This callback is invoked by DAL when it has received a Config STA response
6507 from the underlying device.
6508
6509 PARAMETERS
6510
6511 IN
6512 wdiRspParams: response parameters received from HAL
6513 pUserData: user data
6514
6515
6516 RETURN VALUE
6517 The result code associated with performing the operation
6518---------------------------------------------------------------------------*/
6519typedef void (*WDI_ConfigSTARspCb)(
6520 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6521 void* pUserData);
6522
6523
6524/*---------------------------------------------------------------------------
6525 WDI_StartRspCb
6526
6527 DESCRIPTION
6528
6529 This callback is invoked by DAL when it has received a Set Link State
6530 response from the underlying device.
6531
6532 PARAMETERS
6533
6534 IN
6535 wdiRspParams: response parameters received from HAL
6536 pUserData: user data
6537
6538
6539 RETURN VALUE
6540 The result code associated with performing the operation
6541---------------------------------------------------------------------------*/
6542typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6543 void* pUserData);
6544
6545
6546/*---------------------------------------------------------------------------
6547 WDI_StartRspCb
6548
6549 DESCRIPTION
6550
6551 This callback is invoked by DAL when it has received a Get Stats response
6552 from the underlying device.
6553
6554 PARAMETERS
6555
6556 IN
6557 wdiRspParams: response parameters received from HAL
6558 pUserData: user data
6559
6560
6561 RETURN VALUE
6562 The result code associated with performing the operation
6563---------------------------------------------------------------------------*/
6564typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6565 void* pUserData);
6566
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006567#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006568/*---------------------------------------------------------------------------
6569 WDI_GetRoamRssiRspCb
6570
6571 DESCRIPTION
6572
6573 This callback is invoked by DAL when it has received a Get Roam Rssi response
6574 from the underlying device.
6575
6576 PARAMETERS
6577
6578 IN
6579 wdiRspParams: response parameters received from HAL
6580 pUserData: user data
6581
6582
6583 RETURN VALUE
6584 The result code associated with performing the operation
6585---------------------------------------------------------------------------*/
6586typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6587 void* pUserData);
6588#endif
6589
Jeff Johnson295189b2012-06-20 16:38:30 -07006590
6591/*---------------------------------------------------------------------------
6592 WDI_StartRspCb
6593
6594 DESCRIPTION
6595
6596 This callback is invoked by DAL when it has received a Update Cfg response
6597 from the underlying device.
6598
6599 PARAMETERS
6600
6601 IN
6602 wdiStatus: response status received from HAL
6603 pUserData: user data
6604
6605
6606 RETURN VALUE
6607 The result code associated with performing the operation
6608---------------------------------------------------------------------------*/
6609typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6610 void* pUserData);
6611
6612/*---------------------------------------------------------------------------
6613 WDI_AddBARspCb
6614
6615 DESCRIPTION
6616
6617 This callback is invoked by DAL when it has received a ADD BA response
6618 from the underlying device.
6619
6620 PARAMETERS
6621
6622 IN
6623 wdiStatus: response status received from HAL
6624 pUserData: user data
6625
6626
6627 RETURN VALUE
6628 The result code associated with performing the operation
6629---------------------------------------------------------------------------*/
6630typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6631 void* pUserData);
6632
6633/*---------------------------------------------------------------------------
6634 WDI_TriggerBARspCb
6635
6636 DESCRIPTION
6637
6638 This callback is invoked by DAL when it has received a ADD BA response
6639 from the underlying device.
6640
6641 PARAMETERS
6642
6643 IN
6644 wdiStatus: response status received from HAL
6645 pUserData: user data
6646
6647
6648 RETURN VALUE
6649 The result code associated with performing the operation
6650---------------------------------------------------------------------------*/
6651typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6652 void* pUserData);
6653
6654
6655/*---------------------------------------------------------------------------
6656 WDI_UpdateBeaconParamsRspCb
6657
6658 DESCRIPTION
6659
6660 This callback is invoked by DAL when it has received a Update Beacon Params response from
6661 the underlying device.
6662
6663 PARAMETERS
6664
6665 IN
6666 wdiStatus: response status received from HAL
6667 pUserData: user data
6668
6669
6670
6671 RETURN VALUE
6672 The result code associated with performing the operation
6673---------------------------------------------------------------------------*/
6674typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6675 void* pUserData);
6676
6677/*---------------------------------------------------------------------------
6678 WDI_SendBeaconParamsRspCb
6679
6680 DESCRIPTION
6681
6682 This callback is invoked by DAL when it has received a Send Beacon Params response from
6683 the underlying device.
6684
6685 PARAMETERS
6686
6687 IN
6688 wdiStatus: response status received from HAL
6689 pUserData: user data
6690
6691
6692
6693 RETURN VALUE
6694 The result code associated with performing the operation
6695---------------------------------------------------------------------------*/
6696typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6697 void* pUserData);
6698
6699/*---------------------------------------------------------------------------
6700 WDA_SetMaxTxPowerRspCb
6701
6702 DESCRIPTION
6703
6704 This callback is invoked by DAL when it has received a set max Tx Power response from
6705 the underlying device.
6706
6707 PARAMETERS
6708
6709 IN
6710 wdiStatus: response status received from HAL
6711 pUserData: user data
6712
6713
6714
6715 RETURN VALUE
6716 The result code associated with performing the operation
6717---------------------------------------------------------------------------*/
6718typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6719 void* pUserData);
6720
6721/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006722 WDA_SetMaxTxPowerPerBandRspCb
6723
6724 DESCRIPTION
6725
6726 This callback is invoked by DAL when it has received a
6727 set max Tx Power Per Band response from the underlying device.
6728
6729 PARAMETERS
6730
6731 IN
6732 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6733 pUserData: user data
6734
6735 RETURN VALUE
6736 The result code associated with performing the operation
6737---------------------------------------------------------------------------*/
6738typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6739 *wdiSetMaxTxPowerPerBandRsp,
6740 void* pUserData);
6741
6742/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006743 WDA_SetTxPowerRspCb
6744
6745 DESCRIPTION
6746
6747 This callback is invoked by DAL when it has received a set max Tx Power response from
6748 the underlying device.
6749
6750 PARAMETERS
6751
6752 IN
6753 wdiStatus: response status received from HAL
6754 pUserData: user data
6755
6756 RETURN VALUE
6757 The result code associated with performing the operation
6758---------------------------------------------------------------------------*/
6759typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6760 void* pUserData);
6761
6762/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006763 WDI_UpdateProbeRspTemplateRspCb
6764
6765 DESCRIPTION
6766
6767 This callback is invoked by DAL when it has received a Probe RSP Template
6768 Update response from the underlying device.
6769
6770 PARAMETERS
6771
6772 IN
6773 wdiStatus: response status received from HAL
6774 pUserData: user data
6775
6776
6777
6778 RETURN VALUE
6779 The result code associated with performing the operation
6780---------------------------------------------------------------------------*/
6781typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6782 void* pUserData);
6783
Jeff Johnson295189b2012-06-20 16:38:30 -07006784/*---------------------------------------------------------------------------
6785 WDI_SetP2PGONOAReqParamsRspCb
6786
6787 DESCRIPTION
6788
6789 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6790 the underlying device.
6791
6792 PARAMETERS
6793
6794 IN
6795 wdiStatus: response status received from HAL
6796 pUserData: user data
6797
6798
6799
6800 RETURN VALUE
6801 The result code associated with performing the operation
6802---------------------------------------------------------------------------*/
6803typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6804 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006805
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306806/*---------------------------------------------------------------------------
6807 WDI_SetTDLSLinkEstablishReqParamsRspCb
6808
6809 DESCRIPTION
6810
6811 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6812 the underlying device.
6813
6814 PARAMETERS
6815
6816 IN
6817 wdiStatus: response status received from HAL
6818 pUserData: user data
6819
6820
6821
6822 RETURN VALUE
6823 The result code associated with performing the operation
6824---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306825typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6826 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306827 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006828
6829/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306830 WDI_SetTDLSChanSwitchReqParamsRspCb
6831
6832 DESCRIPTION
6833
6834 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6835 the underlying device.
6836
6837 PARAMETERS
6838
6839 IN
6840 wdiStatus: response status received from HAL
6841 pUserData: user data
6842
6843
6844
6845 RETURN VALUE
6846 The result code associated with performing the operation
6847---------------------------------------------------------------------------*/
6848typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6849 wdiSetTdlsChanSwitchReqRsp,
6850 void* pUserData);
6851/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006852 WDI_SetPwrSaveCfgCb
6853
6854 DESCRIPTION
6855
6856 This callback is invoked by DAL when it has received a set Power Save CFG
6857 response from the underlying device.
6858
6859 PARAMETERS
6860
6861 IN
6862 wdiStatus: response status received from HAL
6863 pUserData: user data
6864
6865
6866
6867 RETURN VALUE
6868 The result code associated with performing the operation
6869---------------------------------------------------------------------------*/
6870typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6871 void* pUserData);
6872
6873/*---------------------------------------------------------------------------
6874 WDI_SetUapsdAcParamsCb
6875
6876 DESCRIPTION
6877
6878 This callback is invoked by DAL when it has received a set UAPSD params
6879 response from the underlying device.
6880
6881 PARAMETERS
6882
6883 IN
6884 wdiStatus: response status received from HAL
6885 pUserData: user data
6886
6887
6888
6889 RETURN VALUE
6890 The result code associated with performing the operation
6891---------------------------------------------------------------------------*/
6892typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6893 void* pUserData);
6894
6895/*---------------------------------------------------------------------------
6896 WDI_EnterImpsRspCb
6897
6898 DESCRIPTION
6899
6900 This callback is invoked by DAL when it has received a Enter IMPS response
6901 from the underlying device.
6902
6903 PARAMETERS
6904
6905 IN
6906 wdiStatus: response status received from HAL
6907 pUserData: user data
6908
6909
6910
6911 RETURN VALUE
6912 The result code associated with performing the operation
6913---------------------------------------------------------------------------*/
6914typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6915 void* pUserData);
6916
6917/*---------------------------------------------------------------------------
6918 WDI_ExitImpsRspCb
6919
6920 DESCRIPTION
6921
6922 This callback is invoked by DAL when it has received a Exit IMPS response
6923 from the underlying device.
6924
6925 PARAMETERS
6926
6927 IN
6928 wdiStatus: response status received from HAL
6929 pUserData: user data
6930
6931
6932
6933 RETURN VALUE
6934 The result code associated with performing the operation
6935---------------------------------------------------------------------------*/
6936typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6937 void* pUserData);
6938
6939/*---------------------------------------------------------------------------
6940 WDI_EnterBmpsRspCb
6941
6942 DESCRIPTION
6943
6944 This callback is invoked by DAL when it has received a enter BMPS response
6945 from the underlying device.
6946
6947 PARAMETERS
6948
6949 IN
6950 wdiStatus: response status received from HAL
6951 pUserData: user data
6952
6953
6954
6955 RETURN VALUE
6956 The result code associated with performing the operation
6957---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006958typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006959 void* pUserData);
6960
6961/*---------------------------------------------------------------------------
6962 WDI_ExitBmpsRspCb
6963
6964 DESCRIPTION
6965
6966 This callback is invoked by DAL when it has received a exit BMPS response
6967 from the underlying device.
6968
6969 PARAMETERS
6970
6971 IN
6972 wdiStatus: response status received from HAL
6973 pUserData: user data
6974
6975
6976
6977 RETURN VALUE
6978 The result code associated with performing the operation
6979---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006980typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006981 void* pUserData);
6982
6983/*---------------------------------------------------------------------------
6984 WDI_EnterUapsdRspCb
6985
6986 DESCRIPTION
6987
6988 This callback is invoked by DAL when it has received a enter UAPSD response
6989 from the underlying device.
6990
6991 PARAMETERS
6992
6993 IN
6994 wdiStatus: response status received from HAL
6995 pUserData: user data
6996
6997
6998
6999 RETURN VALUE
7000 The result code associated with performing the operation
7001---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007002typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007003 void* pUserData);
7004
7005/*---------------------------------------------------------------------------
7006 WDI_ExitUapsdRspCb
7007
7008 DESCRIPTION
7009
7010 This callback is invoked by DAL when it has received a exit UAPSD response
7011 from the underlying device.
7012
7013 PARAMETERS
7014
7015 IN
7016 wdiStatus: response status received from HAL
7017 pUserData: user data
7018
7019
7020
7021 RETURN VALUE
7022 The result code associated with performing the operation
7023---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007024typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007025 void* pUserData);
7026
7027/*---------------------------------------------------------------------------
7028 WDI_UpdateUapsdParamsCb
7029
7030 DESCRIPTION
7031
7032 This callback is invoked by DAL when it has received a update UAPSD params
7033 response from the underlying device.
7034
7035 PARAMETERS
7036
7037 IN
7038 wdiStatus: response status received from HAL
7039 pUserData: user data
7040
7041
7042
7043 RETURN VALUE
7044 The result code associated with performing the operation
7045---------------------------------------------------------------------------*/
7046typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7047 void* pUserData);
7048
7049/*---------------------------------------------------------------------------
7050 WDI_ConfigureRxpFilterCb
7051
7052 DESCRIPTION
7053
7054 This callback is invoked by DAL when it has received a config RXP filter
7055 response from the underlying device.
7056
7057 PARAMETERS
7058
7059 IN
7060 wdiStatus: response status received from HAL
7061 pUserData: user data
7062
7063
7064
7065 RETURN VALUE
7066 The result code associated with performing the operation
7067---------------------------------------------------------------------------*/
7068typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7069 void* pUserData);
7070
7071/*---------------------------------------------------------------------------
7072 WDI_SetBeaconFilterCb
7073
7074 DESCRIPTION
7075
7076 This callback is invoked by DAL when it has received a set beacon filter
7077 response from the underlying device.
7078
7079 PARAMETERS
7080
7081 IN
7082 wdiStatus: response status received from HAL
7083 pUserData: user data
7084
7085
7086
7087 RETURN VALUE
7088 The result code associated with performing the operation
7089---------------------------------------------------------------------------*/
7090typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7091 void* pUserData);
7092
7093/*---------------------------------------------------------------------------
7094 WDI_RemBeaconFilterCb
7095
7096 DESCRIPTION
7097
7098 This callback is invoked by DAL when it has received a remove beacon filter
7099 response from the underlying device.
7100
7101 PARAMETERS
7102
7103 IN
7104 wdiStatus: response status received from HAL
7105 pUserData: user data
7106
7107
7108
7109 RETURN VALUE
7110 The result code associated with performing the operation
7111---------------------------------------------------------------------------*/
7112typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7113 void* pUserData);
7114
7115/*---------------------------------------------------------------------------
7116 WDI_SetRSSIThresholdsCb
7117
7118 DESCRIPTION
7119
7120 This callback is invoked by DAL when it has received a set RSSI thresholds
7121 response from the underlying device.
7122
7123 PARAMETERS
7124
7125 IN
7126 wdiStatus: response status received from HAL
7127 pUserData: user data
7128
7129
7130
7131 RETURN VALUE
7132 The result code associated with performing the operation
7133---------------------------------------------------------------------------*/
7134typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7135 void* pUserData);
7136
7137/*---------------------------------------------------------------------------
7138 WDI_HostOffloadCb
7139
7140 DESCRIPTION
7141
7142 This callback is invoked by DAL when it has received a host offload
7143 response from the underlying device.
7144
7145 PARAMETERS
7146
7147 IN
7148 wdiStatus: response status received from HAL
7149 pUserData: user data
7150
7151
7152
7153 RETURN VALUE
7154 The result code associated with performing the operation
7155---------------------------------------------------------------------------*/
7156typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7157 void* pUserData);
7158
7159/*---------------------------------------------------------------------------
7160 WDI_KeepAliveCb
7161
7162 DESCRIPTION
7163
7164 This callback is invoked by DAL when it has received a Keep Alive
7165 response from the underlying device.
7166
7167 PARAMETERS
7168
7169 IN
7170 wdiStatus: response status received from HAL
7171 pUserData: user data
7172
7173
7174
7175 RETURN VALUE
7176 The result code associated with performing the operation
7177---------------------------------------------------------------------------*/
7178typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7179 void* pUserData);
7180
7181/*---------------------------------------------------------------------------
7182 WDI_WowlAddBcPtrnCb
7183
7184 DESCRIPTION
7185
7186 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7187 response from the underlying device.
7188
7189 PARAMETERS
7190
7191 IN
7192 wdiStatus: response status received from HAL
7193 pUserData: user data
7194
7195
7196
7197 RETURN VALUE
7198 The result code associated with performing the operation
7199---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007200typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007201 void* pUserData);
7202
7203/*---------------------------------------------------------------------------
7204 WDI_WowlDelBcPtrnCb
7205
7206 DESCRIPTION
7207
7208 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7209 response from the underlying device.
7210
7211 PARAMETERS
7212
7213 IN
7214 wdiStatus: response status received from HAL
7215 pUserData: user data
7216
7217
7218
7219 RETURN VALUE
7220 The result code associated with performing the operation
7221---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007222typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007223 void* pUserData);
7224
7225/*---------------------------------------------------------------------------
7226 WDI_WowlEnterReqCb
7227
7228 DESCRIPTION
7229
7230 This callback is invoked by DAL when it has received a Wowl enter
7231 response from the underlying device.
7232
7233 PARAMETERS
7234
7235 IN
7236 wdiStatus: response status received from HAL
7237 pUserData: user data
7238
7239
7240
7241 RETURN VALUE
7242 The result code associated with performing the operation
7243---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007244typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7245 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007246
7247/*---------------------------------------------------------------------------
7248 WDI_WowlExitReqCb
7249
7250 DESCRIPTION
7251
7252 This callback is invoked by DAL when it has received a Wowl exit
7253 response from the underlying device.
7254
7255 PARAMETERS
7256
7257 IN
7258 wdiStatus: response status received from HAL
7259 pUserData: user data
7260
7261
7262
7263 RETURN VALUE
7264 The result code associated with performing the operation
7265---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007266typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007267 void* pUserData);
7268
7269/*---------------------------------------------------------------------------
7270 WDI_ConfigureAppsCpuWakeupStateCb
7271
7272 DESCRIPTION
7273
7274 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7275 State response from the underlying device.
7276
7277 PARAMETERS
7278
7279 IN
7280 wdiStatus: response status received from HAL
7281 pUserData: user data
7282
7283
7284
7285 RETURN VALUE
7286 The result code associated with performing the operation
7287---------------------------------------------------------------------------*/
7288typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7289 void* pUserData);
7290/*---------------------------------------------------------------------------
7291 WDI_NvDownloadRspCb
7292
7293 DESCRIPTION
7294
7295 This callback is invoked by DAL when it has received a NV Download response
7296 from the underlying device.
7297
7298 PARAMETERS
7299
7300 IN
7301 wdiStatus:response status received from HAL
7302 pUserData:user data
7303
7304 RETURN VALUE
7305 The result code associated with performing the operation
7306---------------------------------------------------------------------------*/
7307typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7308 void* pUserData);
7309/*---------------------------------------------------------------------------
7310 WDI_FlushAcRspCb
7311
7312 DESCRIPTION
7313
7314 This callback is invoked by DAL when it has received a Flush AC response from
7315 the underlying device.
7316
7317 PARAMETERS
7318
7319 IN
7320 wdiStatus: response status received from HAL
7321 pUserData: user data
7322
7323
7324
7325 RETURN VALUE
7326 The result code associated with performing the operation
7327---------------------------------------------------------------------------*/
7328typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7329 void* pUserData);
7330
7331/*---------------------------------------------------------------------------
7332 WDI_BtAmpEventRspCb
7333
7334 DESCRIPTION
7335
7336 This callback is invoked by DAL when it has received a Bt AMP event response
7337 from the underlying device.
7338
7339 PARAMETERS
7340
7341 IN
7342 wdiStatus: response status received from HAL
7343 pUserData: user data
7344
7345
7346
7347 RETURN VALUE
7348 The result code associated with performing the operation
7349---------------------------------------------------------------------------*/
7350typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7351 void* pUserData);
7352
Jeff Johnsone7245742012-09-05 17:12:55 -07007353#ifdef FEATURE_OEM_DATA_SUPPORT
7354/*---------------------------------------------------------------------------
7355 WDI_oemDataRspCb
7356
7357 DESCRIPTION
7358
7359 This callback is invoked by DAL when it has received a Start oem data response from
7360 the underlying device.
7361
7362 PARAMETERS
7363
7364 IN
7365 wdiStatus: response status received from HAL
7366 pUserData: user data
7367
7368
7369
7370 RETURN VALUE
7371 The result code associated with performing the operation
7372---------------------------------------------------------------------------*/
7373typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7374 void* pUserData);
7375
7376#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007377
7378/*---------------------------------------------------------------------------
7379 WDI_HostResumeEventRspCb
7380
7381 DESCRIPTION
7382
7383 This callback is invoked by DAL when it has received a Bt AMP event response
7384 from the underlying device.
7385
7386 PARAMETERS
7387
7388 IN
7389 wdiStatus: response status received from HAL
7390 pUserData: user data
7391
7392
7393
7394 RETURN VALUE
7395 The result code associated with performing the operation
7396---------------------------------------------------------------------------*/
7397typedef void (*WDI_HostResumeEventRspCb)(
7398 WDI_SuspendResumeRspParamsType *resumeRspParams,
7399 void* pUserData);
7400
7401
7402#ifdef WLAN_FEATURE_VOWIFI_11R
7403/*---------------------------------------------------------------------------
7404 WDI_AggrAddTsRspCb
7405
7406 DESCRIPTION
7407
7408 This callback is invoked by DAL when it has received a Aggregated Add TS
7409 response from the underlying device.
7410
7411 PARAMETERS
7412
7413 IN
7414 wdiStatus: response status received from HAL
7415 pUserData: user data
7416
7417
7418
7419 RETURN VALUE
7420 The result code associated with performing the operation
7421---------------------------------------------------------------------------*/
7422typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7423 void* pUserData);
7424#endif /* WLAN_FEATURE_VOWIFI_11R */
7425
Jeff Johnson295189b2012-06-20 16:38:30 -07007426/*---------------------------------------------------------------------------
7427 WDI_FTMCommandRspCb
7428
7429 DESCRIPTION
7430
7431 FTM Command response CB
7432
7433 PARAMETERS
7434
7435 IN
7436 ftmCMDRspdata: FTM response data from HAL
7437 pUserData: user data
7438
7439
7440 RETURN VALUE
7441 NONE
7442---------------------------------------------------------------------------*/
7443typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7444 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007445
7446/*---------------------------------------------------------------------------
7447 WDI_AddSTASelfParamsRspCb
7448
7449 DESCRIPTION
7450
7451 This callback is invoked by DAL when it has received a Add Sta Self Params
7452 response from the underlying device.
7453
7454 PARAMETERS
7455
7456 IN
7457 wdiAddSelfSTARsp: response status received from HAL
7458 pUserData: user data
7459
7460
7461
7462 RETURN VALUE
7463 The result code associated with performing the operation
7464---------------------------------------------------------------------------*/
7465typedef void (*WDI_AddSTASelfParamsRspCb)(
7466 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7467 void* pUserData);
7468
7469
7470/*---------------------------------------------------------------------------
7471 WDI_DelSTASelfRspCb
7472
7473 DESCRIPTION
7474
7475 This callback is invoked by DAL when it has received a host offload
7476 response from the underlying device.
7477
7478 PARAMETERS
7479
7480 IN
7481 wdiStatus: response status received from HAL
7482 pUserData: user data
7483
7484
7485
7486 RETURN VALUE
7487 The result code associated with performing the operation
7488---------------------------------------------------------------------------*/
7489typedef void (*WDI_DelSTASelfRspCb)
7490(
7491WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7492void* pUserData
7493);
7494
7495#ifdef FEATURE_WLAN_SCAN_PNO
7496/*---------------------------------------------------------------------------
7497 WDI_PNOScanCb
7498
7499 DESCRIPTION
7500
7501 This callback is invoked by DAL when it has received a Set PNO
7502 response from the underlying device.
7503
7504 PARAMETERS
7505
7506 IN
7507 wdiStatus: response status received from HAL
7508 pUserData: user data
7509
7510
7511
7512 RETURN VALUE
7513 The result code associated with performing the operation
7514---------------------------------------------------------------------------*/
7515typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7516 void* pUserData);
7517
7518/*---------------------------------------------------------------------------
7519 WDI_PNOScanCb
7520
7521 DESCRIPTION
7522
7523 This callback is invoked by DAL when it has received a Set PNO
7524 response from the underlying device.
7525
7526 PARAMETERS
7527
7528 IN
7529 wdiStatus: response status received from HAL
7530 pUserData: user data
7531
7532
7533
7534 RETURN VALUE
7535 The result code associated with performing the operation
7536---------------------------------------------------------------------------*/
7537typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7538 void* pUserData);
7539
7540/*---------------------------------------------------------------------------
7541 WDI_UpdateScanParamsCb
7542
7543 DESCRIPTION
7544
7545 This callback is invoked by DAL when it has received a Update Scan Params
7546 response from the underlying device.
7547
7548 PARAMETERS
7549
7550 IN
7551 wdiStatus: response status received from HAL
7552 pUserData: user data
7553
7554
7555
7556 RETURN VALUE
7557 The result code associated with performing the operation
7558---------------------------------------------------------------------------*/
7559typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7560 void* pUserData);
7561#endif // FEATURE_WLAN_SCAN_PNO
7562
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007563typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7564 void* pUserData);
7565
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007566#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7567/*---------------------------------------------------------------------------
7568 WDI_RoamOffloadScanCb
7569
7570 DESCRIPTION
7571
7572 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7573 response from the underlying device.
7574
7575 PARAMETERS
7576
7577 IN
7578 wdiStatus: response status received from HAL
7579 pUserData: user data
7580
7581
7582
7583 RETURN VALUE
7584 The result code associated with performing the operation
7585---------------------------------------------------------------------------*/
7586typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7587 void* pUserData);
7588
7589#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007590/*---------------------------------------------------------------------------
7591 WDI_SetTxPerTrackingRspCb
7592
7593 DESCRIPTION
7594
7595 This callback is invoked by DAL when it has received a Tx PER Tracking
7596 response from the underlying device.
7597
7598 PARAMETERS
7599
7600 IN
7601 wdiStatus: response status received from HAL
7602 pUserData: user data
7603
7604
7605
7606 RETURN VALUE
7607 The result code associated with performing the operation
7608---------------------------------------------------------------------------*/
7609typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7610 void* pUserData);
7611
7612#ifdef WLAN_FEATURE_PACKET_FILTERING
7613/*---------------------------------------------------------------------------
7614 WDI_8023MulticastListCb
7615
7616 DESCRIPTION
7617
7618 This callback is invoked by DAL when it has received a 8023 Multicast List
7619 response from the underlying device.
7620
7621 PARAMETERS
7622
7623 IN
7624 wdiStatus: response status received from HAL
7625 pUserData: user data
7626
7627
7628
7629 RETURN VALUE
7630 The result code associated with performing the operation
7631---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007632typedef void (*WDI_8023MulticastListCb)(
7633 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7634 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007635
7636/*---------------------------------------------------------------------------
7637 WDI_ReceiveFilterSetFilterCb
7638
7639 DESCRIPTION
7640
7641 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7642 response from the underlying device.
7643
7644 PARAMETERS
7645
7646 IN
7647 wdiStatus: response status received from HAL
7648 pUserData: user data
7649
7650
7651
7652 RETURN VALUE
7653 The result code associated with performing the operation
7654---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007655typedef void (*WDI_ReceiveFilterSetFilterCb)(
7656 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7657 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007658
7659/*---------------------------------------------------------------------------
7660 WDI_FilterMatchCountCb
7661
7662 DESCRIPTION
7663
7664 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7665 response from the underlying device.
7666
7667 PARAMETERS
7668
7669 IN
7670 wdiStatus: response status received from HAL
7671 pUserData: user data
7672
7673
7674
7675 RETURN VALUE
7676 The result code associated with performing the operation
7677---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007678typedef void (*WDI_FilterMatchCountCb)(
7679 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7680 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007681
7682/*---------------------------------------------------------------------------
7683 WDI_ReceiveFilterClearFilterCb
7684
7685 DESCRIPTION
7686
7687 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7688 response from the underlying device.
7689
7690 PARAMETERS
7691
7692 IN
7693 wdiStatus: response status received from HAL
7694 pUserData: user data
7695
7696
7697
7698 RETURN VALUE
7699 The result code associated with performing the operation
7700---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007701typedef void (*WDI_ReceiveFilterClearFilterCb)(
7702 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7703 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007704#endif // WLAN_FEATURE_PACKET_FILTERING
7705
7706/*---------------------------------------------------------------------------
7707 WDI_HALDumpCmdRspCb
7708
7709 DESCRIPTION
7710
7711 This callback is invoked by DAL when it has received a HAL DUMP Command
7712response from
7713 the HAL layer.
7714
7715 PARAMETERS
7716
7717 IN
7718 wdiHalDumpCmdRsp: response status received from HAL
7719 pUserData: user data
7720
7721
7722
7723 RETURN VALUE
7724 The result code associated with performing the operation
7725---------------------------------------------------------------------------*/
7726typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7727 void* pUserData);
7728
7729/*---------------------------------------------------------------------------
7730 WDI_SetPowerParamsCb
7731
7732 DESCRIPTION
7733
7734 This callback is invoked by DAL when it has received a Set Power Param
7735 response from the underlying device.
7736
7737 PARAMETERS
7738
7739 IN
7740 wdiStatus: response status received from HAL
7741 pUserData: user data
7742
7743
7744
7745 RETURN VALUE
7746 The result code associated with performing the operation
7747---------------------------------------------------------------------------*/
7748typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7749 void* pUserData);
7750
7751#ifdef WLAN_FEATURE_GTK_OFFLOAD
7752/*---------------------------------------------------------------------------
7753 WDI_GtkOffloadCb
7754
7755 DESCRIPTION
7756
7757 This callback is invoked by DAL when it has received a GTK offload
7758 response from the underlying device.
7759
7760 PARAMETERS
7761
7762 IN
7763 wdiStatus: response status received from HAL
7764 pUserData: user data
7765
7766
7767
7768 RETURN VALUE
7769 The result code associated with performing the operation
7770---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007771typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007772 void* pUserData);
7773
7774/*---------------------------------------------------------------------------
7775 WDI_GtkOffloadGetInfoCb
7776
7777 DESCRIPTION
7778
7779 This callback is invoked by DAL when it has received a GTK offload
7780 information response from the underlying device.
7781
7782 PARAMETERS
7783
7784 IN
7785 wdiStatus: response status received from HAL
7786 pUserData: user data
7787
7788
7789
7790 RETURN VALUE
7791 The result code associated with performing the operation
7792---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007793typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007794 void* pUserData);
7795#endif // WLAN_FEATURE_GTK_OFFLOAD
7796
7797/*---------------------------------------------------------------------------
7798 WDI_SetTmLevelCb
7799
7800 DESCRIPTION
7801
7802 This callback is invoked by DAL when it has received a Set New TM Level
7803 done response from the underlying device.
7804
7805 PARAMETERS
7806
7807 IN
7808 wdiStatus: response status received from HAL
7809 pUserData: user data
7810
7811
7812
7813 RETURN VALUE
7814 The result code associated with performing the operation
7815---------------------------------------------------------------------------*/
7816typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7817 void* pUserData);
7818
7819/*---------------------------------------------------------------------------
7820 WDI_featureCapsExchangeCb
7821
7822 DESCRIPTION
7823
7824 This callback is invoked by DAL when it has received a HAL Feature Capbility
7825 Exchange Response the HAL layer. This callback is put to mantain code
7826 similarity and is not being used right now.
7827
7828 PARAMETERS
7829
7830 IN
7831 wdiFeatCapRspParams: response parameters received from HAL
7832 pUserData: user data
7833
7834 RETURN VALUE
7835 The result code associated with performing the operation
7836---------------------------------------------------------------------------*/
7837typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7838 void* pUserData);
7839
Mohit Khanna4a70d262012-09-11 16:30:12 -07007840#ifdef WLAN_FEATURE_11AC
7841typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7842 void* pUserData);
7843#endif
7844
Leo Chang9056f462013-08-01 19:21:11 -07007845#ifdef FEATURE_WLAN_LPHB
7846typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7847 void* pUserData);
7848#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007849
Rajeev79dbe4c2013-10-05 11:03:42 +05307850#ifdef FEATURE_WLAN_BATCH_SCAN
7851/*---------------------------------------------------------------------------
7852 WDI_SetBatchScanCb
7853
7854 DESCRIPTION
7855
7856 This callback is invoked by DAL when it has received a get batch scan
7857 response from the underlying device.
7858
7859 PARAMETERS
7860
7861 IN
7862 wdiStatus: response status received from HAL
7863 pUserData: user data
7864
7865
7866
7867 RETURN VALUE
7868 The result code associated with performing the operation
7869---------------------------------------------------------------------------*/
7870typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7871
7872#endif
7873
c_hpothu92367912014-05-01 15:18:17 +05307874typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7875 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307876
Dino Mycle41bdc942014-06-10 11:30:24 +05307877#ifdef WLAN_FEATURE_EXTSCAN
7878typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7879 void *pUserData);
7880typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7881 void *pUserData);
7882typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7883 void *pUserData);
7884typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7885 void *pUserData);
7886typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7887 void *pUserData);
7888typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7889 void *pUserData);
7890typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7891 void *pUserData);
7892typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7893 void *pUserData);
7894#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307895
7896#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7897typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7898 void *pUserData);
7899typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7900 void *pUserData);
7901typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7902 void *pUserData);
7903#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05307904
7905typedef void (*WDI_SetSpoofMacAddrRspCb)(
7906 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307907
Abhishek Singh85b74712014-10-08 11:38:19 +05307908typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
7909 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307910
7911typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007912/*========================================================================
7913 * Function Declarations and Documentation
7914 ==========================================================================*/
7915
7916/*========================================================================
7917
7918 INITIALIZATION APIs
7919
7920==========================================================================*/
7921
7922/**
7923 @brief WDI_Init is used to initialize the DAL.
7924
7925 DAL will allocate all the resources it needs. It will open PAL, it will also
7926 open both the data and the control transport which in their turn will open
7927 DXE/SMD or any other drivers that they need.
7928
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307929 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007930 ppWDIGlobalCtx: output pointer of Global Context
7931 pWdiDevCapability: output pointer of device capability
7932
7933 @return Result of the function call
7934*/
7935WDI_Status
7936WDI_Init
7937(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307938 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007939 void** ppWDIGlobalCtx,
7940 WDI_DeviceCapabilityType* pWdiDevCapability,
7941 unsigned int driverType
7942);
7943
7944/**
7945 @brief WDI_Start will be called when the upper MAC is ready to
7946 commence operation with the WLAN Device. Upon the call
7947 of this API the WLAN DAL will pack and send a HAL Start
7948 message to the lower RIVA sub-system if the SMD channel
7949 has been fully opened and the RIVA subsystem is up.
7950
7951 If the RIVA sub-system is not yet up and running DAL
7952 will queue the request for Open and will wait for the
7953 SMD notification before attempting to send down the
7954 message to HAL.
7955
7956 WDI_Init must have been called.
7957
7958 @param wdiStartParams: the start parameters as specified by
7959 the Device Interface
7960
7961 wdiStartRspCb: callback for passing back the response of
7962 the start operation received from the device
7963
7964 pUserData: user data will be passed back with the
7965 callback
7966
7967 @see WDI_Start
7968 @return Result of the function call
7969*/
7970WDI_Status
7971WDI_Start
7972(
7973 WDI_StartReqParamsType* pwdiStartParams,
7974 WDI_StartRspCb wdiStartRspCb,
7975 void* pUserData
7976);
7977
7978
7979/**
7980 @brief WDI_Stop will be called when the upper MAC is ready to
7981 stop any operation with the WLAN Device. Upon the call
7982 of this API the WLAN DAL will pack and send a HAL Stop
7983 message to the lower RIVA sub-system if the DAL Core is
7984 in started state.
7985
7986 In state BUSY this request will be queued.
7987
7988 Request will not be accepted in any other state.
7989
7990 WDI_Start must have been called.
7991
7992 @param wdiStopParams: the stop parameters as specified by
7993 the Device Interface
7994
7995 wdiStopRspCb: callback for passing back the response of
7996 the stop operation received from the device
7997
7998 pUserData: user data will be passed back with the
7999 callback
8000
8001 @see WDI_Start
8002 @return Result of the function call
8003*/
8004WDI_Status
8005WDI_Stop
8006(
8007 WDI_StopReqParamsType* pwdiStopParams,
8008 WDI_StopRspCb wdiStopRspCb,
8009 void* pUserData
8010);
8011
8012/**
8013 @brief WDI_Close will be called when the upper MAC no longer
8014 needs to interract with DAL. DAL will free its control
8015 block.
8016
8017 It is only accepted in state STOPPED.
8018
8019 WDI_Stop must have been called.
8020
8021 @param none
8022
8023 @see WDI_Stop
8024 @return Result of the function call
8025*/
8026WDI_Status
8027WDI_Close
8028(
8029 void
8030);
8031
8032
8033/**
8034 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8035 This will do most of the WDI stop & close
8036 operations without doing any handshake with Riva
8037
8038 This will also make sure that the control transport
8039 will NOT be closed.
8040
8041 This request will not be queued.
8042
8043
8044 WDI_Start must have been called.
8045
8046 @param closeTransport: Close control channel if this is set
8047
8048 @return Result of the function call
8049*/
8050WDI_Status
8051WDI_Shutdown
8052(
8053 wpt_boolean closeTransport
8054);
8055
8056/*========================================================================
8057
8058 SCAN APIs
8059
8060==========================================================================*/
8061
8062/**
8063 @brief WDI_InitScanReq will be called when the upper MAC wants
8064 the WLAN Device to get ready for a scan procedure. Upon
8065 the call of this API the WLAN DAL will pack and send a
8066 HAL Init Scan request message to the lower RIVA
8067 sub-system if DAL is in state STARTED.
8068
8069 In state BUSY this request will be queued. Request won't
8070 be allowed in any other state.
8071
8072 WDI_Start must have been called.
8073
8074 @param wdiInitScanParams: the init scan parameters as specified
8075 by the Device Interface
8076
8077 wdiInitScanRspCb: callback for passing back the response
8078 of the init scan operation received from the device
8079
8080 pUserData: user data will be passed back with the
8081 callback
8082
8083 @see WDI_Start
8084 @return Result of the function call
8085*/
8086WDI_Status
8087WDI_InitScanReq
8088(
8089 WDI_InitScanReqParamsType* pwdiInitScanParams,
8090 WDI_InitScanRspCb wdiInitScanRspCb,
8091 void* pUserData
8092);
8093
8094/**
8095 @brief WDI_StartScanReq will be called when the upper MAC
8096 wishes to change the Scan channel on the WLAN Device.
8097 Upon the call of this API the WLAN DAL will pack and
8098 send a HAL Start Scan request message to the lower RIVA
8099 sub-system if DAL is in state STARTED.
8100
8101 In state BUSY this request will be queued. Request won't
8102 be allowed in any other state.
8103
8104 WDI_InitScanReq must have been called.
8105
8106 @param wdiStartScanParams: the start scan parameters as
8107 specified by the Device Interface
8108
8109 wdiStartScanRspCb: callback for passing back the
8110 response of the start scan operation received from the
8111 device
8112
8113 pUserData: user data will be passed back with the
8114 callback
8115
8116 @see WDI_InitScanReq
8117 @return Result of the function call
8118*/
8119WDI_Status
8120WDI_StartScanReq
8121(
8122 WDI_StartScanReqParamsType* pwdiStartScanParams,
8123 WDI_StartScanRspCb wdiStartScanRspCb,
8124 void* pUserData
8125);
8126
8127
8128/**
8129 @brief WDI_EndScanReq will be called when the upper MAC is
8130 wants to end scanning for a particular channel that it
8131 had set before by calling Scan Start on the WLAN Device.
8132 Upon the call of this API the WLAN DAL will pack and
8133 send a HAL End Scan request message to the lower RIVA
8134 sub-system if DAL is in state STARTED.
8135
8136 In state BUSY this request will be queued. Request won't
8137 be allowed in any other state.
8138
8139 WDI_StartScanReq must have been called.
8140
8141 @param wdiEndScanParams: the end scan parameters as specified
8142 by the Device Interface
8143
8144 wdiEndScanRspCb: callback for passing back the response
8145 of the end scan operation received from the device
8146
8147 pUserData: user data will be passed back with the
8148 callback
8149
8150 @see WDI_StartScanReq
8151 @return Result of the function call
8152*/
8153WDI_Status
8154WDI_EndScanReq
8155(
8156 WDI_EndScanReqParamsType* pwdiEndScanParams,
8157 WDI_EndScanRspCb wdiEndScanRspCb,
8158 void* pUserData
8159);
8160
8161
8162/**
8163 @brief WDI_FinishScanReq will be called when the upper MAC has
8164 completed the scan process on the WLAN Device. Upon the
8165 call of this API the WLAN DAL will pack and send a HAL
8166 Finish Scan Request request message to the lower RIVA
8167 sub-system if DAL is in state STARTED.
8168
8169 In state BUSY this request will be queued. Request won't
8170 be allowed in any other state.
8171
8172 WDI_InitScanReq must have been called.
8173
8174 @param wdiFinishScanParams: the finish scan parameters as
8175 specified by the Device Interface
8176
8177 wdiFinishScanRspCb: callback for passing back the
8178 response of the finish scan operation received from the
8179 device
8180
8181 pUserData: user data will be passed back with the
8182 callback
8183
8184 @see WDI_InitScanReq
8185 @return Result of the function call
8186*/
8187WDI_Status
8188WDI_FinishScanReq
8189(
8190 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8191 WDI_FinishScanRspCb wdiFinishScanRspCb,
8192 void* pUserData
8193);
8194
8195/*========================================================================
8196
8197 ASSOCIATION APIs
8198
8199==========================================================================*/
8200
8201/**
8202 @brief WDI_JoinReq will be called when the upper MAC is ready
8203 to start an association procedure to a BSS. Upon the
8204 call of this API the WLAN DAL will pack and send a HAL
8205 Join request message to the lower RIVA sub-system if
8206 DAL is in state STARTED.
8207
8208 In state BUSY this request will be queued. Request won't
8209 be allowed in any other state.
8210
8211 WDI_Start must have been called.
8212
8213 @param wdiJoinParams: the join parameters as specified by
8214 the Device Interface
8215
8216 wdiJoinRspCb: callback for passing back the response of
8217 the join operation received from the device
8218
8219 pUserData: user data will be passed back with the
8220 callback
8221
8222 @see WDI_Start
8223 @return Result of the function call
8224*/
8225WDI_Status
8226WDI_JoinReq
8227(
8228 WDI_JoinReqParamsType* pwdiJoinParams,
8229 WDI_JoinRspCb wdiJoinRspCb,
8230 void* pUserData
8231);
8232
8233/**
8234 @brief WDI_ConfigBSSReq will be called when the upper MAC
8235 wishes to configure the newly acquired or in process of
8236 being acquired BSS to the HW . Upon the call of this API
8237 the WLAN DAL will pack and send a HAL Config BSS request
8238 message to the lower RIVA sub-system if DAL is in state
8239 STARTED.
8240
8241 In state BUSY this request will be queued. Request won't
8242 be allowed in any other state.
8243
8244 WDI_JoinReq must have been called.
8245
8246 @param wdiConfigBSSParams: the config BSS parameters as
8247 specified by the Device Interface
8248
8249 wdiConfigBSSRspCb: callback for passing back the
8250 response of the config BSS operation received from the
8251 device
8252
8253 pUserData: user data will be passed back with the
8254 callback
8255
8256 @see WDI_JoinReq
8257 @return Result of the function call
8258*/
8259WDI_Status
8260WDI_ConfigBSSReq
8261(
8262 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8263 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8264 void* pUserData
8265);
8266
8267/**
8268 @brief WDI_DelBSSReq will be called when the upper MAC is
8269 dissasociating from the BSS and wishes to notify HW.
8270 Upon the call of this API the WLAN DAL will pack and
8271 send a HAL Del BSS request message to the lower RIVA
8272 sub-system if DAL is in state STARTED.
8273
8274 In state BUSY this request will be queued. Request won't
8275 be allowed in any other state.
8276
8277 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8278
8279 @param wdiDelBSSParams: the del BSS parameters as specified by
8280 the Device Interface
8281
8282 wdiDelBSSRspCb: callback for passing back the response
8283 of the del bss operation received from the device
8284
8285 pUserData: user data will be passed back with the
8286 callback
8287
8288 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8289 @return Result of the function call
8290*/
8291WDI_Status
8292WDI_DelBSSReq
8293(
8294 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8295 WDI_DelBSSRspCb wdiDelBSSRspCb,
8296 void* pUserData
8297);
8298
8299/**
8300 @brief WDI_PostAssocReq will be called when the upper MAC has
8301 associated to a BSS and wishes to configure HW for
8302 associated state. Upon the call of this API the WLAN DAL
8303 will pack and send a HAL Post Assoc request message to
8304 the lower RIVA sub-system if DAL is in state STARTED.
8305
8306 In state BUSY this request will be queued. Request won't
8307 be allowed in any other state.
8308
8309 WDI_JoinReq must have been called.
8310
8311 @param wdiPostAssocReqParams: the assoc parameters as specified
8312 by the Device Interface
8313
8314 wdiPostAssocRspCb: callback for passing back the
8315 response of the post assoc operation received from the
8316 device
8317
8318 pUserData: user data will be passed back with the
8319 callback
8320
8321 @see WDI_JoinReq
8322 @return Result of the function call
8323*/
8324WDI_Status
8325WDI_PostAssocReq
8326(
8327 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8328 WDI_PostAssocRspCb wdiPostAssocRspCb,
8329 void* pUserData
8330);
8331
8332/**
8333 @brief WDI_DelSTAReq will be called when the upper MAC when an
8334 association with another STA has ended and the station
8335 must be deleted from HW. Upon the call of this API the
8336 WLAN DAL will pack and send a HAL Del STA request
8337 message to the lower RIVA sub-system if DAL is in state
8338 STARTED.
8339
8340 In state BUSY this request will be queued. Request won't
8341 be allowed in any other state.
8342
8343 WDI_PostAssocReq must have been called.
8344
8345 @param wdiDelSTAParams: the Del STA parameters as specified by
8346 the Device Interface
8347
8348 wdiDelSTARspCb: callback for passing back the response
8349 of the del STA operation received from the device
8350
8351 pUserData: user data will be passed back with the
8352 callback
8353
8354 @see WDI_PostAssocReq
8355 @return Result of the function call
8356*/
8357WDI_Status
8358WDI_DelSTAReq
8359(
8360 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8361 WDI_DelSTARspCb wdiDelSTARspCb,
8362 void* pUserData
8363);
8364
8365/*========================================================================
8366
8367 SECURITY APIs
8368
8369==========================================================================*/
8370
8371/**
8372 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8373 install a BSS encryption key on the HW. Upon the call of
8374 this API the WLAN DAL will pack and send a HAL Start
8375 request message to the lower RIVA sub-system if DAL is
8376 in state STARTED.
8377
8378 In state BUSY this request will be queued. Request won't
8379 be allowed in any other state.
8380
8381 WDI_PostAssocReq must have been called.
8382
8383 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8384 specified by the Device Interface
8385
8386 wdiSetBSSKeyRspCb: callback for passing back the
8387 response of the set BSS Key operation received from the
8388 device
8389
8390 pUserData: user data will be passed back with the
8391 callback
8392
8393 @see WDI_PostAssocReq
8394 @return Result of the function call
8395*/
8396WDI_Status
8397WDI_SetBSSKeyReq
8398(
8399 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8400 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8401 void* pUserData
8402);
8403
8404
8405/**
8406 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8407 uninstall a BSS key from HW. Upon the call of this API
8408 the WLAN DAL will pack and send a HAL Remove BSS Key
8409 request message to the lower RIVA sub-system if DAL is
8410 in state STARTED.
8411
8412 In state BUSY this request will be queued. Request won't
8413 be allowed in any other state.
8414
8415 WDI_SetBSSKeyReq must have been called.
8416
8417 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8418 specified by the Device Interface
8419
8420 wdiRemoveBSSKeyRspCb: callback for passing back the
8421 response of the remove BSS key operation received from
8422 the device
8423
8424 pUserData: user data will be passed back with the
8425 callback
8426
8427 @see WDI_SetBSSKeyReq
8428 @return Result of the function call
8429*/
8430WDI_Status
8431WDI_RemoveBSSKeyReq
8432(
8433 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8434 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8435 void* pUserData
8436);
8437
8438
8439/**
8440 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8441 ready to install a STA(ast) encryption key in HW. Upon
8442 the call of this API the WLAN DAL will pack and send a
8443 HAL Set STA Key request message to the lower RIVA
8444 sub-system if DAL is in state STARTED.
8445
8446 In state BUSY this request will be queued. Request won't
8447 be allowed in any other state.
8448
8449 WDI_PostAssocReq must have been called.
8450
8451 @param wdiSetSTAKeyParams: the set STA key parameters as
8452 specified by the Device Interface
8453
8454 wdiSetSTAKeyRspCb: callback for passing back the
8455 response of the set STA key operation received from the
8456 device
8457
8458 pUserData: user data will be passed back with the
8459 callback
8460
8461 @see WDI_PostAssocReq
8462 @return Result of the function call
8463*/
8464WDI_Status
8465WDI_SetSTAKeyReq
8466(
8467 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8468 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8469 void* pUserData
8470);
8471
8472
8473/**
8474 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8475 wants to unistall a previously set STA key in HW. Upon
8476 the call of this API the WLAN DAL will pack and send a
8477 HAL Remove STA Key request message to the lower RIVA
8478 sub-system if DAL is in state STARTED.
8479
8480 In state BUSY this request will be queued. Request won't
8481 be allowed in any other state.
8482
8483 WDI_SetSTAKeyReq must have been called.
8484
8485 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8486 specified by the Device Interface
8487
8488 wdiRemoveSTAKeyRspCb: callback for passing back the
8489 response of the remove STA key operation received from
8490 the device
8491
8492 pUserData: user data will be passed back with the
8493 callback
8494
8495 @see WDI_SetSTAKeyReq
8496 @return Result of the function call
8497*/
8498WDI_Status
8499WDI_RemoveSTAKeyReq
8500(
8501 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8502 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8503 void* pUserData
8504);
8505
8506/**
8507 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8508 wants to install a STA Bcast encryption key on the HW.
8509 Upon the call of this API the WLAN DAL will pack and
8510 send a HAL Start request message to the lower RIVA
8511 sub-system if DAL is in state STARTED.
8512
8513 In state BUSY this request will be queued. Request won't
8514 be allowed in any other state.
8515
8516 WDI_PostAssocReq must have been called.
8517
8518 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8519 specified by the Device Interface
8520
8521 wdiSetSTABcastKeyRspCb: callback for passing back the
8522 response of the set BSS Key operation received from the
8523 device
8524
8525 pUserData: user data will be passed back with the
8526 callback
8527
8528 @see WDI_PostAssocReq
8529 @return Result of the function call
8530*/
8531WDI_Status
8532WDI_SetSTABcastKeyReq
8533(
8534 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8535 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8536 void* pUserData
8537);
8538
8539
8540/**
8541 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8542 MAC to uninstall a STA Bcast key from HW. Upon the call
8543 of this API the WLAN DAL will pack and send a HAL Remove
8544 STA Bcast Key request message to the lower RIVA
8545 sub-system if DAL is in state STARTED.
8546
8547 In state BUSY this request will be queued. Request won't
8548 be allowed in any other state.
8549
8550 WDI_SetSTABcastKeyReq must have been called.
8551
8552 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8553 parameters as specified by the Device
8554 Interface
8555
8556 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8557 response of the remove STA Bcast key operation received
8558 from the device
8559
8560 pUserData: user data will be passed back with the
8561 callback
8562
8563 @see WDI_SetSTABcastKeyReq
8564 @return Result of the function call
8565*/
8566WDI_Status
8567WDI_RemoveSTABcastKeyReq
8568(
8569 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8570 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8571 void* pUserData
8572);
8573
schang86c22c42013-03-13 18:41:24 -07008574
8575/**
8576 @brief WDI_SetTxPowerReq will be called when the upper
8577 MAC wants to set Tx Power to HW.
8578 In state BUSY this request will be queued. Request won't
8579 be allowed in any other state.
8580
8581
8582 @param pwdiSetTxPowerParams: set TS Power parameters
8583 BSSID and target TX Power with dbm included
8584
8585 wdiReqStatusCb: callback for passing back the response
8586
8587 pUserData: user data will be passed back with the
8588 callback
8589
8590 @return Result of the function call
8591*/
8592WDI_Status
8593WDI_SetTxPowerReq
8594(
8595 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8596 WDA_SetTxPowerRspCb wdiReqStatusCb,
8597 void* pUserData
8598);
8599
Jeff Johnson295189b2012-06-20 16:38:30 -07008600/**
8601 @brief WDI_SetMaxTxPowerReq will be called when the upper
8602 MAC wants to set Max Tx Power to HW. Upon the
8603 call of this API the WLAN DAL will pack and send a HAL
8604 Remove STA Bcast Key request message to the lower RIVA
8605 sub-system if DAL is in state STARTED.
8606
8607 In state BUSY this request will be queued. Request won't
8608 be allowed in any other state.
8609
8610 WDI_SetSTABcastKeyReq must have been called.
8611
8612 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8613 parameters as specified by the Device
8614 Interface
8615
8616 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8617 response of the remove STA Bcast key operation received
8618 from the device
8619
8620 pUserData: user data will be passed back with the
8621 callback
8622
8623 @see WDI_SetMaxTxPowerReq
8624 @return Result of the function call
8625*/
8626WDI_Status
8627WDI_SetMaxTxPowerReq
8628(
8629 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8630 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8631 void* pUserData
8632);
8633
Arif Hussaina5ebce02013-08-09 15:09:58 -07008634/**
8635 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8636 MAC wants to set Max Tx Power to HW for specific band. Upon the
8637 call of this API the WLAN DAL will pack and send a HAL
8638 Set Max Tx Power Per Band request message to the lower RIVA
8639 sub-system if DAL is in state STARTED.
8640
8641 In state BUSY this request will be queued. Request won't
8642 be allowed in any other state.
8643
8644
8645 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8646
8647 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8648 when it has received a set max Tx Power Per Band response from
8649 the underlying device.
8650
8651 pUserData: user data will be passed back with the
8652 callback
8653
8654 @see WDI_SetMaxTxPowerPerBandReq
8655 @return Result of the function call
8656*/
8657WDI_Status
8658WDI_SetMaxTxPowerPerBandReq
8659(
8660 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8661 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8662 void* pUserData
8663);
8664
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008665#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008666/**
8667 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8668 Traffic Stream metrics.
8669 In state BUSY this request will be queued. Request won't
8670 be allowed in any other state.
8671
8672 @param wdiAddTsReqParams: the add TS parameters as specified by
8673 the Device Interface
8674
8675 wdiAddTsRspCb: callback for passing back the response of
8676 the add TS operation received from the device
8677
8678 pUserData: user data will be passed back with the
8679 callback
8680
8681 @see WDI_PostAssocReq
8682 @return Result of the function call
8683*/
8684WDI_Status
8685WDI_TSMStatsReq
8686(
8687 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8688 WDI_TsmRspCb wdiTsmStatsRspCb,
8689 void* pUserData
8690);
8691
8692
8693#endif
8694
8695/*========================================================================
8696
8697 QoS and BA APIs
8698
8699==========================================================================*/
8700
8701/**
8702 @brief WDI_AddTSReq will be called when the upper MAC to inform
8703 the device of a successful add TSpec negotiation. HW
8704 needs to receive the TSpec Info from the UMAC in order
8705 to configure properly the QoS data traffic. Upon the
8706 call of this API the WLAN DAL will pack and send a HAL
8707 Add TS request message to the lower RIVA sub-system if
8708 DAL is in state STARTED.
8709
8710 In state BUSY this request will be queued. Request won't
8711 be allowed in any other state.
8712
8713 WDI_PostAssocReq must have been called.
8714
8715 @param wdiAddTsReqParams: the add TS parameters as specified by
8716 the Device Interface
8717
8718 wdiAddTsRspCb: callback for passing back the response of
8719 the add TS operation received from the device
8720
8721 pUserData: user data will be passed back with the
8722 callback
8723
8724 @see WDI_PostAssocReq
8725 @return Result of the function call
8726*/
8727WDI_Status
8728WDI_AddTSReq
8729(
8730 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8731 WDI_AddTsRspCb wdiAddTsRspCb,
8732 void* pUserData
8733);
8734
8735
8736
8737/**
8738 @brief WDI_DelTSReq will be called when the upper MAC has ended
8739 admission on a specific AC. This is to inform HW that
8740 QoS traffic parameters must be rest. Upon the call of
8741 this API the WLAN DAL will pack and send a HAL Del TS
8742 request message to the lower RIVA sub-system if DAL is
8743 in state STARTED.
8744
8745 In state BUSY this request will be queued. Request won't
8746 be allowed in any other state.
8747
8748 WDI_AddTSReq must have been called.
8749
8750 @param wdiDelTsReqParams: the del TS parameters as specified by
8751 the Device Interface
8752
8753 wdiDelTsRspCb: callback for passing back the response of
8754 the del TS operation received from the device
8755
8756 pUserData: user data will be passed back with the
8757 callback
8758
8759 @see WDI_AddTSReq
8760 @return Result of the function call
8761*/
8762WDI_Status
8763WDI_DelTSReq
8764(
8765 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8766 WDI_DelTsRspCb wdiDelTsRspCb,
8767 void* pUserData
8768);
8769
8770
8771
8772/**
8773 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8774 wishes to update the EDCA parameters used by HW for QoS
8775 data traffic. Upon the call of this API the WLAN DAL
8776 will pack and send a HAL Update EDCA Params request
8777 message to the lower RIVA sub-system if DAL is in state
8778 STARTED.
8779
8780 In state BUSY this request will be queued. Request won't
8781 be allowed in any other state.
8782
8783 WDI_PostAssocReq must have been called.
8784
8785 @param wdiUpdateEDCAParams: the start parameters as specified
8786 by the Device Interface
8787
8788 wdiUpdateEDCAParamsRspCb: callback for passing back the
8789 response of the start operation received from the device
8790
8791 pUserData: user data will be passed back with the
8792 callback
8793
8794 @see WDI_PostAssocReq
8795 @return Result of the function call
8796*/
8797WDI_Status
8798WDI_UpdateEDCAParams
8799(
8800 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8801 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8802 void* pUserData
8803);
8804
8805
8806
8807/**
8808 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8809 successfully a BA session and needs to notify the HW for
8810 the appropriate settings to take place. Upon the call of
8811 this API the WLAN DAL will pack and send a HAL Add BA
8812 request message to the lower RIVA sub-system if DAL is
8813 in state STARTED.
8814
8815 In state BUSY this request will be queued. Request won't
8816 be allowed in any other state.
8817
8818 WDI_PostAssocReq must have been called.
8819
8820 @param wdiAddBAReqParams: the add BA parameters as specified by
8821 the Device Interface
8822
8823 wdiAddBARspCb: callback for passing back the response of
8824 the add BA operation received from the device
8825
8826 pUserData: user data will be passed back with the
8827 callback
8828
8829 @see WDI_PostAssocReq
8830 @return Result of the function call
8831*/
8832WDI_Status
8833WDI_AddBASessionReq
8834(
8835 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8836 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8837 void* pUserData
8838);
8839
8840
8841/**
8842 @brief WDI_DelBAReq will be called when the upper MAC wants to
8843 inform HW that it has deleted a previously created BA
8844 session. Upon the call of this API the WLAN DAL will
8845 pack and send a HAL Del BA request message to the lower
8846 RIVA sub-system if DAL is in state STARTED.
8847
8848 In state BUSY this request will be queued. Request won't
8849 be allowed in any other state.
8850
8851 WDI_AddBAReq must have been called.
8852
8853 @param wdiDelBAReqParams: the del BA parameters as specified by
8854 the Device Interface
8855
8856 wdiDelBARspCb: callback for passing back the response of
8857 the del BA operation received from the device
8858
8859 pUserData: user data will be passed back with the
8860 callback
8861
8862 @see WDI_AddBAReq
8863 @return Result of the function call
8864*/
8865WDI_Status
8866WDI_DelBAReq
8867(
8868 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8869 WDI_DelBARspCb wdiDelBARspCb,
8870 void* pUserData
8871);
8872
8873/**
8874 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8875 inform HW that there is a change in the beacon parameters
8876 Upon the call of this API the WLAN DAL will
8877 pack and send a UpdateBeacon Params message to the lower
8878 RIVA sub-system if DAL is in state STARTED.
8879
8880 In state BUSY this request will be queued. Request won't
8881 be allowed in any other state.
8882
8883 WDI_UpdateBeaconParamsReq must have been called.
8884
8885 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8886 the Device Interface
8887
8888 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8889 the Update Beacon Params operation received from the device
8890
8891 pUserData: user data will be passed back with the
8892 callback
8893
8894 @see WDI_AddBAReq
8895 @return Result of the function call
8896*/
8897
8898WDI_Status
8899WDI_UpdateBeaconParamsReq
8900(
8901 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8902 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8903 void* pUserData
8904);
8905
8906
8907/**
8908 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8909 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8910 Upon the call of this API the WLAN DAL will
8911 pack and send the beacon Template message to the lower
8912 RIVA sub-system if DAL is in state STARTED.
8913
8914 In state BUSY this request will be queued. Request won't
8915 be allowed in any other state.
8916
8917 WDI_SendBeaconParamsReq must have been called.
8918
8919 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8920 the Device Interface
8921
8922 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8923 the Send Beacon Params operation received from the device
8924
8925 pUserData: user data will be passed back with the
8926 callback
8927
8928 @see WDI_AddBAReq
8929 @return Result of the function call
8930*/
8931
8932WDI_Status
8933WDI_SendBeaconParamsReq
8934(
8935 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8936 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8937 void* pUserData
8938);
8939
8940
8941/**
8942 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8943 upper MAC wants to update the probe response template to
8944 be transmitted as Soft AP
8945 Upon the call of this API the WLAN DAL will
8946 pack and send the probe rsp template message to the
8947 lower RIVA sub-system if DAL is in state STARTED.
8948
8949 In state BUSY this request will be queued. Request won't
8950 be allowed in any other state.
8951
8952
8953 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8954 specified by the Device Interface
8955
8956 wdiSendBeaconParamsRspCb: callback for passing back the
8957 response of the Send Beacon Params operation received
8958 from the device
8959
8960 pUserData: user data will be passed back with the
8961 callback
8962
8963 @see WDI_AddBAReq
8964 @return Result of the function call
8965*/
8966
8967WDI_Status
8968WDI_UpdateProbeRspTemplateReq
8969(
8970 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8971 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8972 void* pUserData
8973);
8974
Jeff Johnson295189b2012-06-20 16:38:30 -07008975/**
8976 @brief WDI_SetP2PGONOAReq will be called when the
8977 upper MAC wants to send Notice of Absence
8978 Upon the call of this API the WLAN DAL will
8979 pack and send the probe rsp template message to the
8980 lower RIVA sub-system if DAL is in state STARTED.
8981
8982 In state BUSY this request will be queued. Request won't
8983 be allowed in any other state.
8984
8985
8986 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8987 specified by the Device Interface
8988
8989 wdiSendBeaconParamsRspCb: callback for passing back the
8990 response of the Send Beacon Params operation received
8991 from the device
8992
8993 pUserData: user data will be passed back with the
8994 callback
8995
8996 @see WDI_AddBAReq
8997 @return Result of the function call
8998*/
8999WDI_Status
9000WDI_SetP2PGONOAReq
9001(
9002 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9003 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9004 void* pUserData
9005);
Jeff Johnson295189b2012-06-20 16:38:30 -07009006
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309007/**
9008 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9009 upper MAC wants to send TDLS Link Establish Request Parameters
9010 Upon the call of this API the WLAN DAL will
9011 pack and send the TDLS Link Establish Request message to the
9012 lower RIVA sub-system if DAL is in state STARTED.
9013
9014 In state BUSY this request will be queued. Request won't
9015 be allowed in any other state.
9016
9017
9018 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9019 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9020
9021 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9022 response of the TDLS Link Establish request received
9023 from the device
9024
9025 pUserData: user data will be passed back with the
9026 callback
9027
9028 @see
9029 @return Result of the function call
9030*/
9031WDI_Status
9032WDI_SetTDLSLinkEstablishReq
9033(
9034 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9035 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9036 void* pUserData
9037);
Jeff Johnson295189b2012-06-20 16:38:30 -07009038
Atul Mittalc0f739f2014-07-31 13:47:47 +05309039WDI_Status
9040WDI_SetTDLSChanSwitchReq
9041(
9042 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9043 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9044 void* pUserData
9045);
Jeff Johnson295189b2012-06-20 16:38:30 -07009046/*========================================================================
9047
9048 Power Save APIs
9049
9050==========================================================================*/
9051
9052/**
9053 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9054 wants to set the power save related configurations of
9055 the WLAN Device. Upon the call of this API the WLAN DAL
9056 will pack and send a HAL Update CFG request message to
9057 the lower RIVA sub-system if DAL is in state STARTED.
9058
9059 In state BUSY this request will be queued. Request won't
9060 be allowed in any other state.
9061
9062 WDI_Start must have been called.
9063
9064 @param pwdiPowerSaveCfg: the power save cfg parameters as
9065 specified by the Device Interface
9066
9067 wdiSetPwrSaveCfgCb: callback for passing back the
9068 response of the set power save cfg operation received
9069 from the device
9070
9071 pUserData: user data will be passed back with the
9072 callback
9073
9074 @see WDI_Start
9075 @return Result of the function call
9076*/
9077WDI_Status
9078WDI_SetPwrSaveCfgReq
9079(
9080 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9081 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9082 void* pUserData
9083);
9084
9085/**
9086 @brief WDI_EnterImpsReq will be called when the upper MAC to
9087 request the device to get into IMPS power state. Upon
9088 the call of this API the WLAN DAL will send a HAL Enter
9089 IMPS request message to the lower RIVA sub-system if DAL
9090 is in state STARTED.
9091
9092 In state BUSY this request will be queued. Request won't
9093 be allowed in any other state.
9094
9095
9096 @param wdiEnterImpsRspCb: callback for passing back the
9097 response of the Enter IMPS operation received from the
9098 device
9099
9100 pUserData: user data will be passed back with the
9101 callback
9102
9103 @see WDI_Start
9104 @return Result of the function call
9105*/
9106WDI_Status
9107WDI_EnterImpsReq
9108(
Mihir Shetea4306052014-03-25 00:02:54 +05309109 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009110 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9111 void* pUserData
9112);
9113
9114/**
9115 @brief WDI_ExitImpsReq will be called when the upper MAC to
9116 request the device to get out of IMPS power state. Upon
9117 the call of this API the WLAN DAL will send a HAL Exit
9118 IMPS request message to the lower RIVA sub-system if DAL
9119 is in state STARTED.
9120
9121 In state BUSY this request will be queued. Request won't
9122 be allowed in any other state.
9123
9124
9125
9126 @param wdiExitImpsRspCb: callback for passing back the response
9127 of the Exit IMPS operation received from the device
9128
9129 pUserData: user data will be passed back with the
9130 callback
9131
9132 @see WDI_Start
9133 @return Result of the function call
9134*/
9135WDI_Status
9136WDI_ExitImpsReq
9137(
9138 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9139 void* pUserData
9140);
9141
9142/**
9143 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9144 request the device to get into BMPS power state. Upon
9145 the call of this API the WLAN DAL will pack and send a
9146 HAL Enter BMPS request message to the lower RIVA
9147 sub-system if DAL is in state STARTED.
9148
9149 In state BUSY this request will be queued. Request won't
9150 be allowed in any other state.
9151
9152 WDI_PostAssocReq must have been called.
9153
9154 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9155 specified by the Device Interface
9156
9157 wdiEnterBmpsRspCb: callback for passing back the
9158 response of the Enter BMPS operation received from the
9159 device
9160
9161 pUserData: user data will be passed back with the
9162 callback
9163
9164 @see WDI_PostAssocReq
9165 @return Result of the function call
9166*/
9167WDI_Status
9168WDI_EnterBmpsReq
9169(
9170 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9171 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9172 void* pUserData
9173);
9174
9175/**
9176 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9177 request the device to get out of BMPS power state. Upon
9178 the call of this API the WLAN DAL will pack and send a
9179 HAL Exit BMPS request message to the lower RIVA
9180 sub-system if DAL is in state STARTED.
9181
9182 In state BUSY this request will be queued. Request won't
9183 be allowed in any other state.
9184
9185 WDI_PostAssocReq must have been called.
9186
9187 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9188 specified by the Device Interface
9189
9190 wdiExitBmpsRspCb: callback for passing back the response
9191 of the Exit BMPS operation received from the device
9192
9193 pUserData: user data will be passed back with the
9194 callback
9195
9196 @see WDI_PostAssocReq
9197 @return Result of the function call
9198*/
9199WDI_Status
9200WDI_ExitBmpsReq
9201(
9202 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9203 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9204 void* pUserData
9205);
9206
9207/**
9208 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9209 request the device to get into UAPSD power state. Upon
9210 the call of this API the WLAN DAL will pack and send a
9211 HAL Enter UAPSD request message to the lower RIVA
9212 sub-system if DAL is in state STARTED.
9213
9214 In state BUSY this request will be queued. Request won't
9215 be allowed in any other state.
9216
9217 WDI_PostAssocReq must have been called.
9218 WDI_SetUapsdAcParamsReq must have been called.
9219
9220 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9221 specified by the Device Interface
9222
9223 wdiEnterUapsdRspCb: callback for passing back the
9224 response of the Enter UAPSD operation received from the
9225 device
9226
9227 pUserData: user data will be passed back with the
9228 callback
9229
9230 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9231 @return Result of the function call
9232*/
9233WDI_Status
9234WDI_EnterUapsdReq
9235(
9236 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9237 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9238 void* pUserData
9239);
9240
9241/**
9242 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9243 request the device to get out of UAPSD power state. Upon
9244 the call of this API the WLAN DAL will send a HAL Exit
9245 UAPSD request message to the lower RIVA sub-system if
9246 DAL is in state STARTED.
9247
9248 In state BUSY this request will be queued. Request won't
9249 be allowed in any other state.
9250
9251 WDI_PostAssocReq must have been called.
9252
9253 @param wdiExitUapsdRspCb: callback for passing back the
9254 response of the Exit UAPSD operation received from the
9255 device
9256
9257 pUserData: user data will be passed back with the
9258 callback
9259
9260 @see WDI_PostAssocReq
9261 @return Result of the function call
9262*/
9263WDI_Status
9264WDI_ExitUapsdReq
9265(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009266 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009267 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9268 void* pUserData
9269);
9270
9271/**
9272 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9273 MAC wants to set the UAPSD related configurations
9274 of an associated STA (while acting as an AP) to the WLAN
9275 Device. Upon the call of this API the WLAN DAL will pack
9276 and send a HAL Update UAPSD params request message to
9277 the lower RIVA sub-system if DAL is in state STARTED.
9278
9279 In state BUSY this request will be queued. Request won't
9280 be allowed in any other state.
9281
9282 WDI_ConfigBSSReq must have been called.
9283
9284 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9285 as specified by the Device Interface
9286
9287 wdiUpdateUapsdParamsCb: callback for passing back the
9288 response of the update UAPSD params operation received
9289 from the device
9290
9291 pUserData: user data will be passed back with the
9292 callback
9293
9294 @see WDI_ConfigBSSReq
9295 @return Result of the function call
9296*/
9297WDI_Status
9298WDI_UpdateUapsdParamsReq
9299(
9300 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9301 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9302 void* pUserData
9303);
9304
9305/**
9306 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9307 MAC wants to set the UAPSD related configurations before
9308 requesting for enter UAPSD power state to the WLAN
9309 Device. Upon the call of this API the WLAN DAL will pack
9310 and send a HAL Set UAPSD params request message to
9311 the lower RIVA sub-system if DAL is in state STARTED.
9312
9313 In state BUSY this request will be queued. Request won't
9314 be allowed in any other state.
9315
9316 WDI_PostAssocReq must have been called.
9317
9318 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9319 the Device Interface
9320
9321 wdiSetUapsdAcParamsCb: callback for passing back the
9322 response of the set UAPSD params operation received from
9323 the device
9324
9325 pUserData: user data will be passed back with the
9326 callback
9327
9328 @see WDI_PostAssocReq
9329 @return Result of the function call
9330*/
9331WDI_Status
9332WDI_SetUapsdAcParamsReq
9333(
9334 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9335 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9336 void* pUserData
9337);
9338
9339/**
9340 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9341 MAC wants to set/reset the RXP filters for received pkts
9342 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9343 and send a HAL configure RXP filter request message to
9344 the lower RIVA sub-system.
9345
9346 In state BUSY this request will be queued. Request won't
9347 be allowed in any other state.
9348
9349
9350 @param pwdiConfigureRxpFilterReqParams: the RXP
9351 filter as specified by the Device
9352 Interface
9353
9354 wdiConfigureRxpFilterCb: callback for passing back the
9355 response of the configure RXP filter operation received
9356 from the device
9357
9358 pUserData: user data will be passed back with the
9359 callback
9360
9361 @return Result of the function call
9362*/
9363WDI_Status
9364WDI_ConfigureRxpFilterReq
9365(
9366 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9367 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9368 void* pUserData
9369);
9370
9371/**
9372 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9373 wants to set the beacon filters while in power save.
9374 Upon the call of this API the WLAN DAL will pack and
9375 send a Beacon filter request message to the
9376 lower RIVA sub-system.
9377
9378 In state BUSY this request will be queued. Request won't
9379 be allowed in any other state.
9380
9381
9382 @param pwdiBeaconFilterReqParams: the beacon
9383 filter as specified by the Device
9384 Interface
9385
9386 wdiBeaconFilterCb: callback for passing back the
9387 response of the set beacon filter operation received
9388 from the device
9389
9390 pUserData: user data will be passed back with the
9391 callback
9392
9393 @return Result of the function call
9394*/
9395WDI_Status
9396WDI_SetBeaconFilterReq
9397(
9398 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9399 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9400 void* pUserData
9401);
9402
9403/**
9404 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9405 wants to remove the beacon filter for perticular IE
9406 while in power save. Upon the call of this API the WLAN
9407 DAL will pack and send a remove Beacon filter request
9408 message to the lower RIVA sub-system.
9409
9410 In state BUSY this request will be queued. Request won't
9411 be allowed in any other state.
9412
9413
9414 @param pwdiBeaconFilterReqParams: the beacon
9415 filter as specified by the Device
9416 Interface
9417
9418 wdiBeaconFilterCb: callback for passing back the
9419 response of the remove beacon filter operation received
9420 from the device
9421
9422 pUserData: user data will be passed back with the
9423 callback
9424
9425 @return Result of the function call
9426*/
9427WDI_Status
9428WDI_RemBeaconFilterReq
9429(
9430 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9431 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9432 void* pUserData
9433);
9434
9435/**
9436 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9437 MAC wants to set the RSSI thresholds related
9438 configurations while in power save. Upon the call of
9439 this API the WLAN DAL will pack and send a HAL Set RSSI
9440 thresholds request message to the lower RIVA
9441 sub-system if DAL is in state STARTED.
9442
9443 In state BUSY this request will be queued. Request won't
9444 be allowed in any other state.
9445
9446 WDI_PostAssocReq must have been called.
9447
9448 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9449 the Device Interface
9450
9451 wdiSetUapsdAcParamsCb: callback for passing back the
9452 response of the set UAPSD params operation received from
9453 the device
9454
9455 pUserData: user data will be passed back with the
9456 callback
9457
9458 @see WDI_PostAssocReq
9459 @return Result of the function call
9460*/
9461WDI_Status
9462WDI_SetRSSIThresholdsReq
9463(
9464 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9465 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9466 void* pUserData
9467);
9468
9469/**
9470 @brief WDI_HostOffloadReq will be called when the upper MAC
9471 wants to set the filter to minimize unnecessary host
9472 wakeup due to broadcast traffic while in power save.
9473 Upon the call of this API the WLAN DAL will pack and
9474 send a HAL host offload request message to the
9475 lower RIVA sub-system if DAL is in state STARTED.
9476
9477 In state BUSY this request will be queued. Request won't
9478 be allowed in any other state.
9479
9480 WDI_PostAssocReq must have been called.
9481
9482 @param pwdiHostOffloadParams: the host offload as specified
9483 by the Device Interface
9484
9485 wdiHostOffloadCb: callback for passing back the response
9486 of the host offload operation received from the
9487 device
9488
9489 pUserData: user data will be passed back with the
9490 callback
9491
9492 @see WDI_PostAssocReq
9493 @return Result of the function call
9494*/
9495WDI_Status
9496WDI_HostOffloadReq
9497(
9498 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9499 WDI_HostOffloadCb wdiHostOffloadCb,
9500 void* pUserData
9501);
9502
9503/**
9504 @brief WDI_KeepAliveReq will be called when the upper MAC
9505 wants to set the filter to send NULL or unsolicited ARP responses
9506 and minimize unnecessary host wakeups due to while in power save.
9507 Upon the call of this API the WLAN DAL will pack and
9508 send a HAL Keep Alive request message to the
9509 lower RIVA sub-system if DAL is in state STARTED.
9510
9511 In state BUSY this request will be queued. Request won't
9512 be allowed in any other state.
9513
9514 WDI_PostAssocReq must have been called.
9515
9516 @param pwdiKeepAliveParams: the Keep Alive as specified
9517 by the Device Interface
9518
9519 wdiKeepAliveCb: callback for passing back the response
9520 of the Keep Alive operation received from the
9521 device
9522
9523 pUserData: user data will be passed back with the
9524 callback
9525
9526 @see WDI_PostAssocReq
9527 @return Result of the function call
9528*/
9529WDI_Status
9530WDI_KeepAliveReq
9531(
9532 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9533 WDI_KeepAliveCb wdiKeepAliveCb,
9534 void* pUserData
9535);
9536
9537/**
9538 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9539 wants to set the Wowl Bcast ptrn to minimize unnecessary
9540 host wakeup due to broadcast traffic while in power
9541 save. Upon the call of this API the WLAN DAL will pack
9542 and send a HAL Wowl Bcast ptrn request message to the
9543 lower RIVA sub-system if DAL is in state STARTED.
9544
9545 In state BUSY this request will be queued. Request won't
9546 be allowed in any other state.
9547
9548 WDI_PostAssocReq must have been called.
9549
9550 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9551 specified by the Device Interface
9552
9553 wdiWowlAddBcPtrnCb: callback for passing back the
9554 response of the add Wowl bcast ptrn operation received
9555 from the device
9556
9557 pUserData: user data will be passed back with the
9558 callback
9559
9560 @see WDI_PostAssocReq
9561 @return Result of the function call
9562*/
9563WDI_Status
9564WDI_WowlAddBcPtrnReq
9565(
9566 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9567 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9568 void* pUserData
9569);
9570
9571/**
9572 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9573 wants to clear the Wowl Bcast ptrn. Upon the call of
9574 this API the WLAN DAL will pack and send a HAL delete
9575 Wowl Bcast ptrn request message to the lower RIVA
9576 sub-system if DAL is in state STARTED.
9577
9578 In state BUSY this request will be queued. Request won't
9579 be allowed in any other state.
9580
9581 WDI_WowlAddBcPtrnReq must have been called.
9582
9583 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9584 specified by the Device Interface
9585
9586 wdiWowlDelBcPtrnCb: callback for passing back the
9587 response of the del Wowl bcast ptrn operation received
9588 from the device
9589
9590 pUserData: user data will be passed back with the
9591 callback
9592
9593 @see WDI_WowlAddBcPtrnReq
9594 @return Result of the function call
9595*/
9596WDI_Status
9597WDI_WowlDelBcPtrnReq
9598(
9599 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9600 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9601 void* pUserData
9602);
9603
9604/**
9605 @brief WDI_WowlEnterReq will be called when the upper MAC
9606 wants to enter the Wowl state to minimize unnecessary
9607 host wakeup while in power save. Upon the call of this
9608 API the WLAN DAL will pack and send a HAL Wowl enter
9609 request message to the lower RIVA sub-system if DAL is
9610 in state STARTED.
9611
9612 In state BUSY this request will be queued. Request won't
9613 be allowed in any other state.
9614
9615 WDI_PostAssocReq must have been called.
9616
9617 @param pwdiWowlEnterReqParams: the Wowl enter info as
9618 specified by the Device Interface
9619
9620 wdiWowlEnterReqCb: callback for passing back the
9621 response of the enter Wowl operation received from the
9622 device
9623
9624 pUserData: user data will be passed back with the
9625 callback
9626
9627 @see WDI_PostAssocReq
9628 @return Result of the function call
9629*/
9630WDI_Status
9631WDI_WowlEnterReq
9632(
9633 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9634 WDI_WowlEnterReqCb wdiWowlEnterCb,
9635 void* pUserData
9636);
9637
9638/**
9639 @brief WDI_WowlExitReq will be called when the upper MAC
9640 wants to exit the Wowl state. Upon the call of this API
9641 the WLAN DAL will pack and send a HAL Wowl exit request
9642 message to the lower RIVA sub-system if DAL is in state
9643 STARTED.
9644
9645 In state BUSY this request will be queued. Request won't
9646 be allowed in any other state.
9647
9648 WDI_WowlEnterReq must have been called.
9649
9650 @param pwdiWowlExitReqParams: the Wowl exit info as
9651 specified by the Device Interface
9652
9653 wdiWowlExitReqCb: callback for passing back the response
9654 of the exit Wowl operation received from the device
9655
9656 pUserData: user data will be passed back with the
9657 callback
9658
9659 @see WDI_WowlEnterReq
9660 @return Result of the function call
9661*/
9662WDI_Status
9663WDI_WowlExitReq
9664(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009665 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009666 WDI_WowlExitReqCb wdiWowlExitCb,
9667 void* pUserData
9668);
9669
9670/**
9671 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9672 the upper MAC wants to dynamically adjusts the listen
9673 interval based on the WLAN/MSM activity. Upon the call
9674 of this API the WLAN DAL will pack and send a HAL
9675 configure Apps Cpu Wakeup State request message to the
9676 lower RIVA sub-system.
9677
9678 In state BUSY this request will be queued. Request won't
9679 be allowed in any other state.
9680
9681
9682 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9683 Apps Cpu Wakeup State as specified by the
9684 Device Interface
9685
9686 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9687 back the response of the configure Apps Cpu Wakeup State
9688 operation received from the device
9689
9690 pUserData: user data will be passed back with the
9691 callback
9692
9693 @return Result of the function call
9694*/
9695WDI_Status
9696WDI_ConfigureAppsCpuWakeupStateReq
9697(
9698 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9699 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9700 void* pUserData
9701);
9702/**
9703 @brief WDI_FlushAcReq will be called when the upper MAC wants
9704 to to perform a flush operation on a given AC. Upon the
9705 call of this API the WLAN DAL will pack and send a HAL
9706 Flush AC request message to the lower RIVA sub-system if
9707 DAL is in state STARTED.
9708
9709 In state BUSY this request will be queued. Request won't
9710 be allowed in any other state.
9711
9712
9713 @param pwdiFlushAcReqParams: the Flush AC parameters as
9714 specified by the Device Interface
9715
9716 wdiFlushAcRspCb: callback for passing back the response
9717 of the Flush AC operation received from the device
9718
9719 pUserData: user data will be passed back with the
9720 callback
9721
9722 @return Result of the function call
9723*/
9724WDI_Status
9725WDI_FlushAcReq
9726(
9727 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9728 WDI_FlushAcRspCb wdiFlushAcRspCb,
9729 void* pUserData
9730);
9731
9732/**
9733 @brief WDI_BtAmpEventReq will be called when the upper MAC
9734 wants to notify the lower mac on a BT AMP event. This is
9735 to inform BTC-SLM that some BT AMP event occurred. Upon
9736 the call of this API the WLAN DAL will pack and send a
9737 HAL BT AMP event request message to the lower RIVA
9738 sub-system if DAL is in state STARTED.
9739
9740 In state BUSY this request will be queued. Request won't
9741 be allowed in any other state.
9742
9743
9744 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9745 specified by the Device Interface
9746
9747 wdiBtAmpEventRspCb: callback for passing back the
9748 response of the BT AMP event operation received from the
9749 device
9750
9751 pUserData: user data will be passed back with the
9752 callback
9753
9754 @return Result of the function call
9755*/
9756WDI_Status
9757WDI_BtAmpEventReq
9758(
9759 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9760 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9761 void* pUserData
9762);
9763
Jeff Johnsone7245742012-09-05 17:12:55 -07009764#ifdef FEATURE_OEM_DATA_SUPPORT
9765/**
9766 @brief WDI_Start oem data Req will be called when the upper MAC
9767 wants to notify the lower mac on a oem data Req event.Upon
9768 the call of this API the WLAN DAL will pack and send a
9769 HAL OEM Data Req event request message to the lower RIVA
9770 sub-system if DAL is in state STARTED.
9771
9772 In state BUSY this request will be queued. Request won't
9773 be allowed in any other state.
9774
9775
9776 @param pWdiOemDataReqParams: the oem data req parameters as
9777 specified by the Device Interface
9778
9779 wdiStartOemDataRspCb: callback for passing back the
9780 response of the Oem Data Req received from the
9781 device
9782
9783 pUserData: user data will be passed back with the
9784 callback
9785
9786 @return Result of the function call
9787*/
9788WDI_Status
9789WDI_StartOemDataReq
9790(
9791 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9792 WDI_oemDataRspCb wdiOemDataRspCb,
9793 void* pUserData
9794);
9795#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009796
9797/*========================================================================
9798
9799 CONTROL APIs
9800
9801==========================================================================*/
9802/**
9803 @brief WDI_SwitchChReq will be called when the upper MAC wants
9804 the WLAN HW to change the current channel of operation.
9805 Upon the call of this API the WLAN DAL will pack and
9806 send a HAL Start request message to the lower RIVA
9807 sub-system if DAL is in state STARTED.
9808
9809 In state BUSY this request will be queued. Request won't
9810 be allowed in any other state.
9811
9812 WDI_Start must have been called.
9813
9814 @param wdiSwitchChReqParams: the switch ch parameters as
9815 specified by the Device Interface
9816
9817 wdiSwitchChRspCb: callback for passing back the response
9818 of the switch ch operation received from the device
9819
9820 pUserData: user data will be passed back with the
9821 callback
9822
9823 @see WDI_Start
9824 @return Result of the function call
9825*/
9826WDI_Status
9827WDI_SwitchChReq
9828(
9829 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9830 WDI_SwitchChRspCb wdiSwitchChRspCb,
9831 void* pUserData
9832);
9833
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009834/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009835 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9836 it also send type source for the channel change.
9837 WDI_Start must have been called.
9838
9839 @param wdiSwitchChReqParams: the switch ch parameters as
9840 specified by the Device Interface
9841
9842 wdiSwitchChRspCb: callback for passing back the response
9843 of the switch ch operation received from the device
9844
9845 pUserData: user data will be passed back with the
9846 callback
9847
9848 @see WDI_Start
9849 @return Result of the function call
9850*/
9851
9852WDI_Status
9853WDI_SwitchChReq_V1
9854(
9855 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9856 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9857 void* pUserData
9858);
9859
9860/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009861 @brief WDI_UpdateChannelReq will be called when the upper MAC
9862 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009863 In state BUSY this request will be queued. Request won't
9864 be allowed in any other state.
9865
9866 WDI_UpdateChannelReq must have been called.
9867
9868 @param wdiUpdateChannelReqParams: the updated channel parameters
9869 as specified by the Device Interface
9870
9871 wdiUpdateChannelRspCb: callback for passing back the
9872 response of the update channel operation received from
9873 the device
9874
9875 pUserData: user data will be passed back with the
9876 callback
9877
9878 @return Result of the function call
9879*/
9880WDI_Status
9881WDI_UpdateChannelReq
9882(
9883 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9884 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9885 void* pUserData
9886);
Jeff Johnson295189b2012-06-20 16:38:30 -07009887
9888/**
9889 @brief WDI_ConfigSTAReq will be called when the upper MAC
9890 wishes to add or update a STA in HW. Upon the call of
9891 this API the WLAN DAL will pack and send a HAL Start
9892 message request message to the lower RIVA sub-system if
9893 DAL is in state STARTED.
9894
9895 In state BUSY this request will be queued. Request won't
9896 be allowed in any other state.
9897
9898 WDI_Start must have been called.
9899
9900 @param wdiConfigSTAReqParams: the config STA parameters as
9901 specified by the Device Interface
9902
9903 wdiConfigSTARspCb: callback for passing back the
9904 response of the config STA operation received from the
9905 device
9906
9907 pUserData: user data will be passed back with the
9908 callback
9909
9910 @see WDI_Start
9911 @return Result of the function call
9912*/
9913WDI_Status
9914WDI_ConfigSTAReq
9915(
9916 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9917 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9918 void* pUserData
9919);
9920
9921/**
9922 @brief WDI_SetLinkStateReq will be called when the upper MAC
9923 wants to change the state of an ongoing link. Upon the
9924 call of this API the WLAN DAL will pack and send a HAL
9925 Start message request message to the lower RIVA
9926 sub-system if DAL is in state STARTED.
9927
9928 In state BUSY this request will be queued. Request won't
9929 be allowed in any other state.
9930
9931 WDI_JoinReq must have been called.
9932
9933 @param wdiSetLinkStateReqParams: the set link state parameters
9934 as specified by the Device Interface
9935
9936 wdiSetLinkStateRspCb: callback for passing back the
9937 response of the set link state operation received from
9938 the device
9939
9940 pUserData: user data will be passed back with the
9941 callback
9942
9943 @see WDI_JoinStartReq
9944 @return Result of the function call
9945*/
9946WDI_Status
9947WDI_SetLinkStateReq
9948(
9949 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9950 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9951 void* pUserData
9952);
9953
9954
9955/**
9956 @brief WDI_GetStatsReq will be called when the upper MAC wants
9957 to get statistics (MIB counters) from the device. Upon
9958 the call of this API the WLAN DAL will pack and send a
9959 HAL Start request message to the lower RIVA sub-system
9960 if DAL is in state STARTED.
9961
9962 In state BUSY this request will be queued. Request won't
9963 be allowed in any other state.
9964
9965 WDI_Start must have been called.
9966
9967 @param wdiGetStatsReqParams: the stats parameters to get as
9968 specified by the Device Interface
9969
9970 wdiGetStatsRspCb: callback for passing back the response
9971 of the get stats operation received from the device
9972
9973 pUserData: user data will be passed back with the
9974 callback
9975
9976 @see WDI_Start
9977 @return Result of the function call
9978*/
9979WDI_Status
9980WDI_GetStatsReq
9981(
9982 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9983 WDI_GetStatsRspCb wdiGetStatsRspCb,
9984 void* pUserData
9985);
9986
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009987#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009988/**
9989 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9990 to get roam rssi from the device. Upon
9991 the call of this API the WLAN DAL will pack and send a
9992 HAL Start request message to the lower RIVA sub-system
9993 if DAL is in state STARTED.
9994
9995 In state BUSY this request will be queued. Request won't
9996 be allowed in any other state.
9997
9998 WDI_Start must have been called.
9999
10000 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10001 specified by the Device Interface
10002
10003 wdiGetRoamRssispCb: callback for passing back the response
10004 of the get stats operation received from the device
10005
10006 pUserData: user data will be passed back with the
10007 callback
10008
10009 @see WDI_Start
10010 @return Result of the function call
10011*/
10012WDI_Status
10013WDI_GetRoamRssiReq
10014(
10015 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10016 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10017 void* pUserData
10018);
10019#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010020
10021/**
10022 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10023 it wishes to change the configuration of the WLAN
10024 Device. Upon the call of this API the WLAN DAL will pack
10025 and send a HAL Update CFG request message to the lower
10026 RIVA sub-system if DAL is in state STARTED.
10027
10028 In state BUSY this request will be queued. Request won't
10029 be allowed in any other state.
10030
10031 WDI_Start must have been called.
10032
10033 @param wdiUpdateCfgReqParams: the update cfg parameters as
10034 specified by the Device Interface
10035
10036 wdiUpdateCfgsRspCb: callback for passing back the
10037 response of the update cfg operation received from the
10038 device
10039
10040 pUserData: user data will be passed back with the
10041 callback
10042
10043 @see WDI_Start
10044 @return Result of the function call
10045*/
10046WDI_Status
10047WDI_UpdateCfgReq
10048(
10049 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10050 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10051 void* pUserData
10052);
10053
10054/**
10055 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10056 to the NV memory.
10057
10058 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10059 the Device Interface
10060
10061 wdiNvDownloadRspCb: callback for passing back the response of
10062 the NV Download operation received from the device
10063
10064 pUserData: user data will be passed back with the
10065 callback
10066
10067 @see WDI_PostAssocReq
10068 @return Result of the function call
10069*/
10070WDI_Status
10071WDI_NvDownloadReq
10072(
10073 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10074 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10075 void* pUserData
10076);
10077/**
10078 @brief WDI_AddBAReq will be called when the upper MAC has setup
10079 successfully a BA session and needs to notify the HW for
10080 the appropriate settings to take place. Upon the call of
10081 this API the WLAN DAL will pack and send a HAL Add BA
10082 request message to the lower RIVA sub-system if DAL is
10083 in state STARTED.
10084
10085 In state BUSY this request will be queued. Request won't
10086 be allowed in any other state.
10087
10088 WDI_PostAssocReq must have been called.
10089
10090 @param wdiAddBAReqParams: the add BA parameters as specified by
10091 the Device Interface
10092
10093 wdiAddBARspCb: callback for passing back the response of
10094 the add BA operation received from the device
10095
10096 pUserData: user data will be passed back with the
10097 callback
10098
10099 @see WDI_PostAssocReq
10100 @return Result of the function call
10101*/
10102WDI_Status
10103WDI_AddBAReq
10104(
10105 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10106 WDI_AddBARspCb wdiAddBARspCb,
10107 void* pUserData
10108);
10109
10110/**
10111 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10112 successfully a BA session and needs to notify the HW for
10113 the appropriate settings to take place. Upon the call of
10114 this API the WLAN DAL will pack and send a HAL Add BA
10115 request message to the lower RIVA sub-system if DAL is
10116 in state STARTED.
10117
10118 In state BUSY this request will be queued. Request won't
10119 be allowed in any other state.
10120
10121 WDI_PostAssocReq must have been called.
10122
10123 @param wdiAddBAReqParams: the add BA parameters as specified by
10124 the Device Interface
10125
10126 wdiAddBARspCb: callback for passing back the response of
10127 the add BA operation received from the device
10128
10129 pUserData: user data will be passed back with the
10130 callback
10131
10132 @see WDI_PostAssocReq
10133 @return Result of the function call
10134*/
10135WDI_Status
10136WDI_TriggerBAReq
10137(
10138 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10139 WDI_TriggerBARspCb wdiTriggerBARspCb,
10140 void* pUserData
10141);
10142
10143
10144/**
10145 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10146 frame xtl is enabled for a particular STA.
10147
10148 WDI_PostAssocReq must have been called.
10149
10150 @param uSTAIdx: STA index
10151
10152 @see WDI_PostAssocReq
10153 @return Result of the function call
10154*/
10155wpt_boolean WDI_IsHwFrameTxTranslationCapable
10156(
10157 wpt_uint8 uSTAIdx
10158);
10159
Katya Nigam6201c3e2014-05-27 17:51:42 +053010160
10161/**
10162 @brief WDI_IsSelfSTA - check if staid is self sta index
10163
10164 @param pWDICtx: pointer to the WLAN DAL context
10165 ucSTAIdx: station index
10166
10167 @return Result of the function call
10168*/
10169
10170wpt_boolean
10171WDI_IsSelfSTA
10172(
10173 void* pWDICtx,
10174 wpt_uint8 ucSTAIdx
10175);
10176
10177
Jeff Johnson295189b2012-06-20 16:38:30 -070010178#ifdef WLAN_FEATURE_VOWIFI_11R
10179/**
10180 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10181 the device of a successful add TSpec negotiation for 11r. HW
10182 needs to receive the TSpec Info from the UMAC in order
10183 to configure properly the QoS data traffic. Upon the
10184 call of this API the WLAN DAL will pack and send a HAL
10185 Aggregated Add TS request message to the lower RIVA sub-system if
10186 DAL is in state STARTED.
10187
10188 In state BUSY this request will be queued. Request won't
10189 be allowed in any other state.
10190
10191 WDI_PostAssocReq must have been called.
10192
10193 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10194 the Device Interface
10195
10196 wdiAggrAddTsRspCb: callback for passing back the response of
10197 the add TS operation received from the device
10198
10199 pUserData: user data will be passed back with the
10200 callback
10201
10202 @see WDI_PostAssocReq
10203 @return Result of the function call
10204*/
10205WDI_Status
10206WDI_AggrAddTSReq
10207(
10208 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10209 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10210 void* pUserData
10211);
10212#endif /* WLAN_FEATURE_VOWIFI_11R */
10213/**
10214 @brief WDI_STATableInit - Initializes the STA tables.
10215 Allocates the necesary memory.
10216
10217
10218 @param pWDICtx: pointer to the WLAN DAL context
10219
10220 @see
10221 @return Result of the function call
10222*/
10223
10224WDI_Status WDI_StubRunTest
10225(
10226 wpt_uint8 ucTestNo
10227);
10228
Jeff Johnson295189b2012-06-20 16:38:30 -070010229/**
10230 @brief WDI_FTMCommandReq -
10231 Route FTMRequest Command to HAL
10232
10233 @param ftmCommandReq: FTM request command body
10234 @param ftmCommandRspCb: Response CB
10235 @param pUserData: User data will be included with CB
10236
10237 @return Result of the function call
10238*/
10239WDI_Status WDI_FTMCommandReq
10240(
10241 WDI_FTMCommandReqType *ftmCommandReq,
10242 WDI_FTMCommandRspCb ftmCommandRspCb,
10243 void *pUserData
10244);
Jeff Johnson295189b2012-06-20 16:38:30 -070010245
10246/**
10247 @brief WDI_HostResumeReq will be called
10248
10249 In state BUSY this request will be queued. Request won't
10250 be allowed in any other state.
10251
10252
10253 @param pwdiResumeReqParams: as specified by
10254 the Device Interface
10255
10256 wdiResumeReqRspCb: callback for passing back the response of
10257 the Resume Req received from the device
10258
10259 pUserData: user data will be passed back with the
10260 callback
10261
10262 @see WDI_PostAssocReq
10263 @return Result of the function call
10264*/
10265WDI_Status
10266WDI_HostResumeReq
10267(
10268 WDI_ResumeParamsType* pwdiResumeReqParams,
10269 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10270 void* pUserData
10271);
10272
10273/**
10274 @brief WDI_GetAvailableResCount - Function to get the available resource
10275 for data and managemnt frames.
10276
10277 @param pContext: pointer to the WDI context
10278 @param wdiResPool: type of resource pool requesting
10279 @see
10280 @return Result of the function call
10281*/
10282
10283wpt_uint32 WDI_GetAvailableResCount
10284(
10285 void *pContext,
10286 WDI_ResPoolType wdiResPool
10287);
10288
10289/**
10290 @brief WDI_SetAddSTASelfReq will be called when the
10291 UMAC wanted to add self STA while opening any new session
10292 In state BUSY this request will be queued. Request won't
10293 be allowed in any other state.
10294
10295
10296 @param pwdiAddSTASelfParams: the add self sta parameters as
10297 specified by the Device Interface
10298
10299 pUserData: user data will be passed back with the
10300 callback
10301
10302 @see
10303 @return Result of the function call
10304*/
10305WDI_Status
10306WDI_AddSTASelfReq
10307(
10308 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10309 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10310 void* pUserData
10311);
10312
10313
10314/**
10315 @brief WDI_DelSTASelfReq will be called .
10316
10317 @param WDI_DelSTASelfReqParamsType
10318
10319 WDI_DelSTASelfRspCb: callback for passing back the
10320 response of the del sta self operation received from the
10321 device
10322
10323 pUserData: user data will be passed back with the
10324 callback
10325
10326 @see WDI_PostAssocReq
10327 @return Result of the function call
10328*/
10329WDI_Status
10330WDI_DelSTASelfReq
10331(
10332 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10333 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10334 void* pUserData
10335);
10336
10337/**
10338 @brief WDI_HostSuspendInd
10339
10340 Suspend Indication from the upper layer will be sent
10341 down to HAL
10342
10343 @param WDI_SuspendParamsType
10344
10345 @see
10346
10347 @return Status of the request
10348*/
10349WDI_Status
10350WDI_HostSuspendInd
10351(
10352 WDI_SuspendParamsType* pwdiSuspendIndParams
10353);
10354
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010355/**
10356 @brief WDI_TrafficStatsInd
10357
10358 Traffic Stats from the upper layer will be sent
10359 down to HAL
10360
10361 @param WDI_TrafficStatsIndType
10362
10363 @see
10364
10365 @return Status of the request
10366*/
10367WDI_Status
10368WDI_TrafficStatsInd
10369(
10370 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10371);
10372
Chet Lanctot186b5732013-03-18 10:26:30 -070010373#ifdef WLAN_FEATURE_11W
10374/**
10375 @brief WDI_ExcludeUnencryptedInd
10376 Register with HAL to receive/drop unencrypted frames
10377
10378 @param WDI_ExcludeUnencryptIndType
10379
10380 @see
10381
10382 @return Status of the request
10383*/
10384WDI_Status
10385WDI_ExcludeUnencryptedInd
10386(
10387 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10388);
10389#endif
10390
Yue Mab9c86f42013-08-14 15:59:08 -070010391/**
10392 @brief WDI_AddPeriodicTxPtrnInd
10393
10394 @param WDI_AddPeriodicTxPtrnParamsType
10395
10396 @see
10397
10398 @return Status of the request
10399*/
10400WDI_Status
10401WDI_AddPeriodicTxPtrnInd
10402(
10403 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10404);
10405
10406/**
10407 @brief WDI_DelPeriodicTxPtrnInd
10408
10409 @param WDI_DelPeriodicTxPtrnParamsType
10410
10411 @see
10412
10413 @return Status of the request
10414*/
10415WDI_Status
10416WDI_DelPeriodicTxPtrnInd
10417(
10418 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10419);
10420
Jeff Johnson295189b2012-06-20 16:38:30 -070010421#ifdef FEATURE_WLAN_SCAN_PNO
10422/**
10423 @brief WDI_SetPreferredNetworkList
10424
10425 @param pwdiPNOScanReqParams: the Set PNO as specified
10426 by the Device Interface
10427
10428 wdiPNOScanCb: callback for passing back the response
10429 of the Set PNO operation received from the
10430 device
10431
10432 pUserData: user data will be passed back with the
10433 callback
10434
10435 @see WDI_PostAssocReq
10436 @return Result of the function call
10437*/
10438WDI_Status
10439WDI_SetPreferredNetworkReq
10440(
10441 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10442 WDI_PNOScanCb wdiPNOScanCb,
10443 void* pUserData
10444);
10445
10446/**
10447 @brief WDI_SetRssiFilterReq
10448
10449 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10450 specified by the Device Interface
10451
10452 wdiRssiFilterCb: callback for passing back the response
10453 of the Set RSSI Filter operation received from the
10454 device
10455
10456 pUserData: user data will be passed back with the
10457 callback
10458
10459 @see WDI_PostAssocReq
10460 @return Result of the function call
10461*/
10462WDI_Status
10463WDI_SetRssiFilterReq
10464(
10465 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10466 WDI_RssiFilterCb wdiRssiFilterCb,
10467 void* pUserData
10468);
10469
10470/**
10471 @brief WDI_UpdateScanParams
10472
10473 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10474 by the Device Interface
10475
10476 wdiUpdateScanParamsCb: callback for passing back the response
10477 of the Set PNO operation received from the
10478 device
10479
10480 pUserData: user data will be passed back with the
10481 callback
10482
10483 @see WDI_PostAssocReq
10484 @return Result of the function call
10485*/
10486WDI_Status
10487WDI_UpdateScanParamsReq
10488(
10489 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10490 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10491 void* pUserData
10492);
10493#endif // FEATURE_WLAN_SCAN_PNO
10494
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010495#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10496/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010497 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010498
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010499 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010500 by the Device Interface
10501
10502 wdiRoamOffloadScanCb: callback for passing back the response
10503 of the Start Roam Candidate Lookup operation received from the
10504 device
10505
10506 pUserData: user data will be passed back with the
10507 callback
10508
10509 @return Result of the function call
10510*/
10511WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010512WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010513(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010514 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010515 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10516 void* pUserData
10517);
10518#endif
10519
Jeff Johnson295189b2012-06-20 16:38:30 -070010520/**
10521 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10522 wants to set the Tx Per Tracking configurations.
10523 Upon the call of this API the WLAN DAL will pack
10524 and send a HAL Set Tx Per Tracking request message to the
10525 lower RIVA sub-system if DAL is in state STARTED.
10526
10527 In state BUSY this request will be queued. Request won't
10528 be allowed in any other state.
10529
10530 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10531 specified by the Device Interface
10532
10533 wdiSetTxPerTrackingCb: callback for passing back the
10534 response of the set Tx PER Tracking configurations operation received
10535 from the device
10536
10537 pUserData: user data will be passed back with the
10538 callback
10539
10540 @return Result of the function call
10541*/
10542WDI_Status
10543WDI_SetTxPerTrackingReq
10544(
10545 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10546 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10547 void* pUserData
10548);
10549
10550/**
10551 @brief WDI_SetTmLevelReq
10552 If HW Thermal condition changed, driver should react based on new
10553 HW thermal condition.
10554
10555 @param pwdiSetTmLevelReq: New thermal condition information
10556
10557 pwdiSetTmLevelRspCb: callback
10558
10559 usrData: user data will be passed back with the
10560 callback
10561
10562 @return Result of the function call
10563*/
10564WDI_Status
10565WDI_SetTmLevelReq
10566(
10567 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10568 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10569 void *usrData
10570);
10571
10572#ifdef WLAN_FEATURE_PACKET_FILTERING
10573/**
10574 @brief WDI_8023MulticastListReq
10575
10576 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10577 List as specified by the Device Interface
10578
10579 wdi8023MulticastListCallback: callback for passing back
10580 the response of the Set 8023 Multicast List operation
10581 received from the device
10582
10583 pUserData: user data will be passed back with the
10584 callback
10585
10586 @see WDI_PostAssocReq
10587 @return Result of the function call
10588*/
10589WDI_Status
10590WDI_8023MulticastListReq
10591(
10592 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10593 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10594 void* pUserData
10595);
10596
10597/**
10598 @brief WDI_ReceiveFilterSetFilterReq
10599
10600 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10601 specified by the Device Interface
10602
10603 wdiReceiveFilterSetFilterReqCallback: callback for
10604 passing back the response of the Set Receive Filter
10605 operation received from the device
10606
10607 pUserData: user data will be passed back with the
10608 callback
10609
10610 @see WDI_PostAssocReq
10611 @return Result of the function call
10612*/
10613WDI_Status
10614WDI_ReceiveFilterSetFilterReq
10615(
10616 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10617 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10618 void* pUserData
10619);
10620
10621/**
10622 @brief WDI_PCFilterMatchCountReq
10623
10624 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10625 Count
10626
10627 wdiPCFilterMatchCountCallback: callback for passing back
10628 the response of the D0 PC Filter Match Count operation
10629 received from the device
10630
10631 pUserData: user data will be passed back with the
10632 callback
10633
10634 @see WDI_PostAssocReq
10635 @return Result of the function call
10636*/
10637WDI_Status
10638WDI_FilterMatchCountReq
10639(
10640 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10641 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10642 void* pUserData
10643);
10644
10645/**
10646 @brief WDI_ReceiveFilterClearFilterReq
10647
10648 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10649 specified by the Device Interface
10650
10651 wdiReceiveFilterClearFilterCallback: callback for
10652 passing back the response of the Clear Filter
10653 operation received from the device
10654
10655 pUserData: user data will be passed back with the
10656 callback
10657
10658 @see WDI_PostAssocReq
10659 @return Result of the function call
10660*/
10661WDI_Status
10662WDI_ReceiveFilterClearFilterReq
10663(
10664 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10665 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10666 void* pUserData
10667);
10668#endif // WLAN_FEATURE_PACKET_FILTERING
10669
10670/**
10671 @brief WDI_HALDumpCmdReq
10672 Post HAL DUMP Command Event
10673
10674 @param halDumpCmdReqParams: Hal Dump Command Body
10675 @param halDumpCmdRspCb: callback for passing back the
10676 response
10677 @param pUserData: Client Data
10678
10679 @see
10680 @return Result of the function call
10681*/
10682WDI_Status WDI_HALDumpCmdReq(
10683 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10684 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10685 void *pUserData
10686);
10687
10688
10689/**
10690 @brief WDI_SetPowerParamsReq
10691
10692 @param pwdiPowerParamsReqParams: the Set Power Params as
10693 specified by the Device Interface
10694
10695 wdiPowerParamsCb: callback for passing back the response
10696 of the Set Power Params operation received from the
10697 device
10698
10699 pUserData: user data will be passed back with the
10700 callback
10701
10702 @return Result of the function call
10703*/
10704WDI_Status
10705WDI_SetPowerParamsReq
10706(
10707 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10708 WDI_SetPowerParamsCb wdiPowerParamsCb,
10709 void* pUserData
10710);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010711/**
10712 @brief WDI_dhcpStartInd
10713 Forward the DHCP Start event
10714
10715 @param
10716
10717 wdiDHCPInd: device mode and MAC address is passed
10718
10719 @see
10720 @return Result of the function call
10721*/
10722
10723WDI_Status
10724WDI_dhcpStartInd
10725(
10726 WDI_DHCPInd *wdiDHCPInd
10727);
10728/**
10729 @brief WDI_dhcpStopReq
10730 Forward the DHCP Stop event
10731
10732 @param
10733
10734 wdiDHCPInd: device mode and MAC address is passed
10735
10736 @see
10737 @return Result of the function call
10738*/
10739
10740WDI_Status
10741WDI_dhcpStopInd
10742(
10743 WDI_DHCPInd *wdiDHCPInd
10744);
Jeff Johnson295189b2012-06-20 16:38:30 -070010745
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010746/**
10747 @brief WDI_RateUpdateInd will be called when the upper MAC
10748 requests the device to update rates.
10749
10750 In state BUSY this request will be queued. Request won't
10751 be allowed in any other state.
10752
10753
10754 @param wdiRateUpdateIndParams
10755
10756
10757 @see WDI_Start
10758 @return Result of the function call
10759*/
10760WDI_Status
10761WDI_RateUpdateInd
10762(
10763 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10764);
10765
Jeff Johnson295189b2012-06-20 16:38:30 -070010766#ifdef WLAN_FEATURE_GTK_OFFLOAD
10767/**
10768 @brief WDI_GTKOffloadReq will be called when the upper MAC
10769 wants to set GTK Rekey Counter while in power save. Upon
10770 the call of this API the WLAN DAL will pack and send a
10771 HAL GTK offload request message to the lower RIVA
10772 sub-system if DAL is in state STARTED.
10773
10774 In state BUSY this request will be queued. Request won't
10775 be allowed in any other state.
10776
10777 WDI_PostAssocReq must have been called.
10778
10779 @param pwdiGtkOffloadParams: the GTK offload as specified
10780 by the Device Interface
10781
10782 wdiGtkOffloadCb: callback for passing back the response
10783 of the GTK offload operation received from the device
10784
10785 pUserData: user data will be passed back with the
10786 callback
10787
10788 @see WDI_PostAssocReq
10789 @return Result of the function call
10790*/
10791WDI_Status
10792WDI_GTKOffloadReq
10793(
10794 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10795 WDI_GtkOffloadCb wdiGtkOffloadCb,
10796 void* pUserData
10797);
10798
10799/**
10800 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10801 MAC wants to get GTK Rekey Counter while in power save.
10802 Upon the call of this API the WLAN DAL will pack and
10803 send a HAL GTK offload request message to the lower RIVA
10804 sub-system if DAL is in state STARTED.
10805
10806 In state BUSY this request will be queued. Request won't
10807 be allowed in any other state.
10808
10809 WDI_PostAssocReq must have been called.
10810
10811 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10812 Information Message as specified by the
10813 Device Interface
10814
10815 wdiGtkOffloadGetInfoCb: callback for passing back the
10816 response of the GTK offload operation received from the
10817 device
10818
10819 pUserData: user data will be passed back with the
10820 callback
10821
10822 @see WDI_PostAssocReq
10823 @return Result of the function call
10824*/
10825WDI_Status
10826WDI_GTKOffloadGetInfoReq
10827(
10828 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10829 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10830 void* pUserData
10831);
10832#endif // WLAN_FEATURE_GTK_OFFLOAD
10833
10834/**
10835 @brief WDI_featureCapsExchangeReq
10836 Post feature capability bitmap exchange event.
10837 Host will send its own capability to FW in this req and
10838 expect FW to send its capability back as a bitmap in Response
10839
10840 @param
10841
10842 wdiFeatCapsExcRspCb: callback called on getting the response.
10843 It is kept to mantain similarity between WDI reqs and if needed, can
10844 be used in future. Currently, It is set to NULL
10845
10846 pUserData: user data will be passed back with the
10847 callback
10848
10849 @see
10850 @return Result of the function call
10851*/
10852WDI_Status
10853WDI_featureCapsExchangeReq
10854(
10855 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10856 void* pUserData
10857);
10858
10859/**
Yathish9f22e662012-12-10 14:21:35 -080010860 @brief Disable Active mode offload in Host
10861
10862 @param void
10863 @see
10864 @return void
10865*/
10866void
10867WDI_disableCapablityFeature(wpt_uint8 feature_index);
10868
10869
10870/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010871 @brief WDI_getHostWlanFeatCaps
10872 WDI API that returns whether the feature passed to it as enum value in
10873 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10874 variable storing host capability bitmap to find this. This can be used by
10875 other moduels to decide certain things like call different APIs based on
10876 whether a particular feature is supported.
10877
10878 @param
10879
10880 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10881
10882 @see
10883 @return
10884 0 - if the feature is NOT supported in host
10885 any non-zero value - if the feature is SUPPORTED in host.
10886*/
10887wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10888
10889/**
10890 @brief WDI_getFwWlanFeatCaps
10891 WDI API that returns whether the feature passed to it as enum value in
10892 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10893 variable storing host capability bitmap to find this. This can be used by
10894 other moduels to decide certain things like call different APIs based on
10895 whether a particular feature is supported.
10896
10897 @param
10898
Jeff Johnsone7245742012-09-05 17:12:55 -070010899 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10900 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010901
10902 @see
10903 @return
10904 0 - if the feature is NOT supported in FW
10905 any non-zero value - if the feature is SUPPORTED in FW.
10906*/
10907wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10908
10909/**
10910 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10911 api version
10912
10913 @param WDI_WlanVersionType: Wlan version structure
10914 @see
10915 @return none
10916*/
10917
10918void WDI_GetWcnssCompiledApiVersion
10919(
10920 WDI_WlanVersionType *pWcnssApiVersion
10921);
10922
Mohit Khanna4a70d262012-09-11 16:30:12 -070010923#ifdef WLAN_FEATURE_11AC
10924WDI_Status
10925WDI_UpdateVHTOpModeReq
10926(
10927 WDI_UpdateVHTOpMode *pData,
10928 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10929 void* pUserData
10930);
Jeff Johnson295189b2012-06-20 16:38:30 -070010931
Mohit Khanna4a70d262012-09-11 16:30:12 -070010932#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010933
10934/**
10935 @brief WDI_TransportChannelDebug -
10936 Display DXE Channel debugging information
10937 User may request to display DXE channel snapshot
10938 Or if host driver detects any abnormal stcuk may display
10939
Jeff Johnsonb88db982012-12-10 13:34:59 -080010940 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010941 @param debugFlags : Enable stall detect features
10942 defined by WPAL_DeviceDebugFlags
10943 These features may effect
10944 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010945 @see
10946 @return none
10947*/
10948void WDI_TransportChannelDebug
10949(
10950 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010951 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010952);
10953
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010954/**
10955 @brief WDI_SsrTimerCB
10956 Callback function for SSR timer, if this is called then the graceful
10957 shutdown for Riva did not happen.
10958
10959 @param pUserData : user data to timer
10960
10961 @see
10962 @return none
10963*/
10964void
10965WDI_SsrTimerCB
10966(
10967 void *pUserData
10968);
10969
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010970/**
10971 @brief WDI_SetEnableSSR -
10972 This API is called to enable/disable SSR on WDI timeout.
10973
10974 @param enableSSR : enable/disable SSR
10975
10976 @see
10977 @return none
10978*/
10979void WDI_SetEnableSSR(wpt_boolean enableSSR);
10980
Leo Chang9056f462013-08-01 19:21:11 -070010981#ifdef FEATURE_WLAN_LPHB
10982/**
10983 @brief WDI_LPHBConfReq
10984 This API is called to config FW LPHB rule
10985
10986 @param lphbconfParam : LPHB rule should config to FW
10987 usrData : Client context
10988 lphbCfgCb : Configuration status callback
10989 @see
10990 @return SUCCESS or FAIL
10991*/
10992WDI_Status WDI_LPHBConfReq
10993(
10994 void *lphbconfParam,
10995 void *usrData,
10996 WDI_LphbCfgCb lphbCfgCb
10997);
10998#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010999
Dino Mycle41bdc942014-06-10 11:30:24 +053011000#ifdef WLAN_FEATURE_EXTSCAN
11001/**
11002 @brief WDI_EXTScanStartReq
11003 This API is called to send EXTScan start request to FW
11004
11005 @param pwdiEXTScanStartReqParams : pointer to the request params.
11006 wdiEXTScanStartRspCb : callback on getting the response.
11007 usrData : Client context
11008 @see
11009 @return SUCCESS or FAIL
11010*/
11011WDI_Status WDI_EXTScanStartReq
11012(
11013 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11014 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11015 void* pUserData
11016);
11017
11018/**
11019 @brief WDI_EXTScanStopReq
11020 This API is called to stop the EXTScan operations in the FW
11021
11022 @param pwdiEXTScanStopReqParams : pointer to the request params.
11023 wdiEXTScanStopRspCb : callback on getting the response.
11024 usrData : Client context
11025 @see
11026 @return SUCCESS or FAIL
11027*/
11028WDI_Status WDI_EXTScanStopReq
11029(
11030 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11031 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11032 void* pUserData
11033);
11034
11035/**
11036 @brief WDI_EXTScanGetCachedResultsReq
11037 This API is called to send get link layer stats request in FW
11038
11039 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11040 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11041 usrData : Client context
11042 @see
11043 @return SUCCESS or FAIL
11044*/
11045WDI_Status WDI_EXTScanGetCachedResultsReq
11046(
11047 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11048 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11049 void* pUserData
11050);
11051
11052/**
11053 @brief WDI_EXTScanGetCapabilitiesReq
11054 This API is called to send get EXTScan capabilities from FW
11055
11056 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11057 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11058 usrData : Client context
11059 @see
11060 @return SUCCESS or FAIL
11061*/
11062WDI_Status WDI_EXTScanGetCapabilitiesReq
11063(
11064 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11065 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11066 void* pUserData
11067);
11068
11069/**
11070 @brief WDI_EXTScanSetBSSIDHotlistReq
11071 This API is called to send Set BSSID Hotlist Request FW
11072
11073 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11074 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11075 usrData : Client context
11076 @see
11077 @return SUCCESS or FAIL
11078*/
11079WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11080(
11081 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11082 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11083 void* pUserData
11084);
11085
11086/**
11087 @brief WDI_EXTScanResetBSSIDHotlistReq
11088 This API is called to send Reset BSSID Hotlist Request FW
11089
11090 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11091 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11092 usrData : Client context
11093 @see
11094 @return SUCCESS or FAIL
11095*/
11096WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11097(
11098 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11099 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11100 void* pUserData
11101);
11102
11103/**
11104 @brief WDI_EXTScanSetSignfRSSIChangeReq
11105 This API is called to send Set Significant RSSI Request FW
11106
11107 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11108 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11109 usrData : Client context
11110 @see
11111 @return SUCCESS or FAIL
11112*/
11113WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11114(
11115 WDI_EXTScanSetSignfRSSIChangeReqParams*
11116 pwdiEXTScanSetSignfRSSIChangeReqParams,
11117 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11118 void* pUserData
11119);
11120
11121/**
11122 @brief WDI_EXTScanResetSignfRSSIChangeReq
11123 This API is called to send Reset BSSID Hotlist Request FW
11124
11125 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11126 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11127 usrData : Client context
11128 @see
11129 @return SUCCESS or FAIL
11130*/
11131WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11132(
11133 WDI_EXTScanResetSignfRSSIChangeReqParams*
11134 pwdiEXTScanResetSignfRSSIChangeReqParams,
11135 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11136 void* pUserData
11137);
11138#endif /* WLAN_FEATURE_EXTSCAN */
11139
Sunil Duttbd736ed2014-05-26 21:19:41 +053011140#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11141/**
11142 @brief WDI_LLStatsSetReq
11143 This API is called to send set link layer stats request to FW
11144
11145 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11146 wdiLLStatsSetRspCb : set link layer stats response callback
11147 usrData : Client context
11148 @see
11149 @return SUCCESS or FAIL
11150*/
11151WDI_Status WDI_LLStatsSetReq
11152(
11153 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11154 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11155 void* pUserData
11156);
11157
11158/**
11159 @brief WDI_LLStatsGetReq
11160 This API is called to send get link layer stats request in FW
11161
11162 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11163 wdiLLStatsGetRspCb : get link layer stats response callback
11164 usrData : Client context
11165 @see
11166 @return SUCCESS or FAIL
11167*/
11168WDI_Status WDI_LLStatsGetReq
11169(
11170 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11171 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11172 void* pUserData
11173);
11174
11175/**
11176 @brief WDI_LLStatsClearReq
11177 This API is called to set clear link layer stats request in FW
11178
11179 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11180 iwdiLLStatsClearRspCb : clear link layer stats response callback
11181 usrData : Client context
11182 @see
11183 @return SUCCESS or FAIL
11184*/
11185WDI_Status WDI_LLStatsClearReq
11186(
11187 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11188 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11189 void* pUserData
11190);
11191#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11192
Abhishek Singh85b74712014-10-08 11:38:19 +053011193WDI_Status WDI_FWStatsGetReq
11194(
11195 void* pwdiFWStatsGetReqParams,
11196 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11197 wpt_uint32 pUserData
11198);
11199
Rajeev79dbe4c2013-10-05 11:03:42 +053011200#ifdef FEATURE_WLAN_BATCH_SCAN
11201/**
11202 @brief WDI_SetBatchScanReq
11203 This API is called to set batch scan request in FW
11204
11205 @param pBatchScanReqParam : pointer to set batch scan re param
11206 usrData : Client context
11207 setBatchScanRspCb : set batch scan resp callback
11208 @see
11209 @return SUCCESS or FAIL
11210*/
11211WDI_Status WDI_SetBatchScanReq
11212(
11213 void *pBatchScanReqParam,
11214 void *usrData,
11215 WDI_SetBatchScanCb setBatchScanRspCb
11216);
11217
11218/**
11219 @brief WDI_StopBatchScanInd
11220
11221 @param none
11222
11223 @see
11224
11225 @return Status of the request
11226*/
11227WDI_Status
11228WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11229
11230/**
11231 @brief WDI_TriggerBatchScanResultInd
11232 This API is called to pull batch scan result from FW
11233
11234 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11235 usrData : Client context
11236 setBatchScanRspCb : get batch scan resp callback
11237 @see
11238 @return SUCCESS or FAIL
11239*/
11240WDI_Status
11241WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11242
11243
11244#endif /*FEATURE_WLAN_BATCH_SCAN*/
11245
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011246/**
11247 @brief wdi_HT40OBSSScanInd
11248 This API is called to start OBSS scan
11249
11250 @param pWdiReq : pointer to get ind param
11251 @see
11252 @return SUCCESS or FAIL
11253*/
11254
11255WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11256
11257/**
11258 @brief wdi_HT40OBSSStopScanInd
11259 This API is called to stop OBSS scan
11260
11261 @param bssIdx : bssIdx to stop
11262 @see
11263 @return SUCCESS or FAIL
11264*/
11265
11266WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11267
c_hpothu92367912014-05-01 15:18:17 +053011268
11269WDI_Status WDI_GetBcnMissRate( void *pUserData,
11270 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11271 wpt_uint8 *bssid
11272 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011273WDI_Status
11274WDI_SetSpoofMacAddrReq
11275(
11276WDI_SpoofMacAddrInfoType *pWdiReq,
11277 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11278 void* pUserData
11279);
c_hpothu92367912014-05-01 15:18:17 +053011280
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011281WDI_Status
11282WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11283 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11284 void* pUserData
11285 );
Jeff Johnson295189b2012-06-20 16:38:30 -070011286#ifdef __cplusplus
11287 }
11288#endif
11289
Jeff Johnson295189b2012-06-20 16:38:30 -070011290#endif /* #ifndef WLAN_QCT_WDI_H */