blob: 659875fa636c3196a1aff4d38d9d902687db9f3a [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, 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/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42#ifndef WLAN_QCT_WDI_H
43#define WLAN_QCT_WDI_H
44
45/*===========================================================================
46
47 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
48 E X T E R N A L A P I
49
50
51DESCRIPTION
52 This file contains the external API exposed by the wlan transport layer
53 module.
54
55
56 Copyright (c) 2010-2011 QUALCOMM Incorporated.
57 All Rights Reserved.
58 Qualcomm Confidential and Proprietary
59===========================================================================*/
60
61
62/*===========================================================================
63
64 EDIT HISTORY FOR FILE
65
66
67 This section contains comments describing changes made to the module.
68 Notice that changes are listed in reverse chronological order.
69
70
71 $Header:$ $DateTime: $ $Author: $
72
73
74when who what, where, why
75-------- --- ----------------------------------------------------------
7610/05/11 hap Adding support for Keep Alive
7708/04/10 lti Created module.
78
79===========================================================================*/
80
81
82
83/*===========================================================================
84
85 INCLUDE FILES FOR MODULE
86
87===========================================================================*/
88
89/*----------------------------------------------------------------------------
90 * Include Files
91 * -------------------------------------------------------------------------*/
92#include "wlan_qct_pal_api.h"
93#include "wlan_qct_pal_type.h"
94#include "wlan_qct_pack_align.h"
95#include "wlan_qct_wdi_cfg.h"
96
97/*----------------------------------------------------------------------------
98 * Preprocessor Definitions and Constants
99 * -------------------------------------------------------------------------*/
100#ifdef __cplusplus
101 extern "C" {
102#endif
103
104/* MAC ADDRESS LENGTH - per spec*/
105#define WDI_MAC_ADDR_LEN 6
106
107/* Max number of 11b rates -> 1,2,5.5,11 */
108#define WDI_NUM_11B_RATES 4
109
110/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
111#define WDI_NUM_11A_RATES 8
112
113/* Max number of legacy rates -> 72, 96, 108*/
114#define WDI_NUM_POLARIS_RATES 3
115
116/* Max supported MCS set*/
117#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
118
119/*Max number of Access Categories for QoS - per spec */
120#define WDI_MAX_NO_AC 4
121
122/*Max. size for reserving the Beacon Template */
123#define WDI_BEACON_TEMPLATE_SIZE 0x180
124
125#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
126
127#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
128
129#define WDI_MAX_SSID_SIZE 32
130
131/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
132from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
133of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
134
135#define FRAGMENT_SIZE 3072
136
137/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800138#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700139
140/* Beacon Filter Length*/
141#define WDI_BEACON_FILTER_LEN 70
142
143/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
144#define WDI_COEX_IND_DATA_SIZE (4)
145
146#define WDI_CIPHER_SEQ_CTR_SIZE 6
147
148#define WDI_NUM_BSSID 2
149
150/*Version string max length (including NUL) */
151#define WDI_VERSION_LENGTH 64
152
153
154/*WDI Response timeout - how long will WDI wait for a response from the device
155 - it should be large enough to allow any other failure mechanism to kick
156 in before we get to a timeout (ms units)*/
157#define WDI_RESPONSE_TIMEOUT 10000
158
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700159/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
160 * Apps initiated SSR will be performed */
161#define WDI_SSR_TIMEOUT 5000
162
Jeff Johnson295189b2012-06-20 16:38:30 -0700163#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
164
165/*============================================================================
166 * GENERIC STRUCTURES
167
168============================================================================*/
169
170/*---------------------------------------------------------------------------
171 WDI Version Information
172---------------------------------------------------------------------------*/
173typedef struct
174{
175 wpt_uint8 revision;
176 wpt_uint8 version;
177 wpt_uint8 minor;
178 wpt_uint8 major;
179} WDI_WlanVersionType;
180
181/*---------------------------------------------------------------------------
182 WDI Device Capability
183---------------------------------------------------------------------------*/
184typedef struct
185{
186 /*If this flag is true it means that the device can support 802.3/ETH2 to
187 802.11 translation*/
188 wpt_boolean bFrameXtlSupported;
189
190 /*Maximum number of BSSes supported by the Device */
191 wpt_uint8 ucMaxBSSSupported;
192
193 /*Maximum number of stations supported by the Device */
194 wpt_uint8 ucMaxSTASupported;
195}WDI_DeviceCapabilityType;
196
197/*---------------------------------------------------------------------------
198 WDI Channel Offset
199---------------------------------------------------------------------------*/
200typedef enum
201{
202 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
203 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700204 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
205#ifdef WLAN_FEATURE_11AC
206 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
207 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
208 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
209 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
210 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
211 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
212 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
213#endif
214 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700215}WDI_HTSecondaryChannelOffset;
216
217/*---------------------------------------------------------------------------
218 WDI_MacFrameCtl
219 Frame control field format (2 bytes)
220---------------------------------------------------------------------------*/
221typedef struct
222{
223 wpt_uint8 protVer :2;
224 wpt_uint8 type :2;
225 wpt_uint8 subType :4;
226
227 wpt_uint8 toDS :1;
228 wpt_uint8 fromDS :1;
229 wpt_uint8 moreFrag :1;
230 wpt_uint8 retry :1;
231 wpt_uint8 powerMgmt :1;
232 wpt_uint8 moreData :1;
233 wpt_uint8 wep :1;
234 wpt_uint8 order :1;
235
236} WDI_MacFrameCtl;
237
238/*---------------------------------------------------------------------------
239 WDI Sequence control field
240---------------------------------------------------------------------------*/
241typedef struct
242{
243 wpt_uint8 fragNum : 4;
244 wpt_uint8 seqNumLo : 4;
245 wpt_uint8 seqNumHi : 8;
246} WDI_MacSeqCtl;
247
248/*---------------------------------------------------------------------------
249 Management header format
250---------------------------------------------------------------------------*/
251typedef struct
252{
253 WDI_MacFrameCtl fc;
254 wpt_uint8 durationLo;
255 wpt_uint8 durationHi;
256 wpt_uint8 da[WDI_MAC_ADDR_LEN];
257 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
258 wpt_macAddr bssId;
259 WDI_MacSeqCtl seqControl;
260} WDI_MacMgmtHdr;
261
262/*---------------------------------------------------------------------------
263 NV Blob management sturcture
264 ---------------------------------------------------------------------------*/
265
266typedef struct
267{
268 /* NV image fragments count */
269 wpt_uint16 usTotalFragment;
270
271 /* NV fragment size */
272 wpt_uint16 usFragmentSize;
273
274 /* current fragment to be sent */
275 wpt_uint16 usCurrentFragment;
276
277} WDI_NvBlobInfoParams;
278
279
280/*---------------------------------------------------------------------------
281 Data path enums memory pool resource
282 ---------------------------------------------------------------------------*/
283
284typedef enum
285{
286 /* managment resource pool ID */
287 WDI_MGMT_POOL_ID = 0,
288 /* Data resource pool ID */
289 WDI_DATA_POOL_ID = 1
290}WDI_ResPoolType;
291
292/*============================================================================
293 * GENERIC STRUCTURES - END
294 ============================================================================*/
295
296/*----------------------------------------------------------------------------
297 * Type Declarations
298 * -------------------------------------------------------------------------*/
299/*---------------------------------------------------------------------------
300 WDI Status
301---------------------------------------------------------------------------*/
302typedef enum
303{
304 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
305 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
306 synchronous way - no rsp will be generated*/
307 WDI_STATUS_PENDING, /* Operation result is pending and will be
308 provided asynchronously through the Req Status
309 Callback */
310 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
311 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
312 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
313 failure*/
314 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
315 of the driver*/
316 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
317
318 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
319 WDI_STATUS_MAX
320
321}WDI_Status;
322
323
324/*---------------------------------------------------------------------------
325 WDI_ReqStatusCb
326
327 DESCRIPTION
328
329 This callback is invoked by DAL to deliver to UMAC the result of posting
330 a previous request for which the return status was PENDING.
331
332 PARAMETERS
333
334 IN
335 wdiStatus: response status received from the Control Transport
336 pUserData: user data
337
338
339
340 RETURN VALUE
341 The result code associated with performing the operation
342---------------------------------------------------------------------------*/
343typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
344 void* pUserData);
345
346/*---------------------------------------------------------------------------
347 WDI_LowLevelIndEnumType
348 Types of indication that can be posted to UMAC by DAL
349---------------------------------------------------------------------------*/
350typedef enum
351{
352 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
353 passed. */
354 WDI_RSSI_NOTIFICATION_IND,
355
356 /*Link loss in the low MAC */
357 WDI_MISSED_BEACON_IND,
358
359 /*when hardware has signaled an unknown addr2 frames. The indication will
360 contain info from frames to be passed to the UMAC, this may use this info to
361 deauth the STA*/
362 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
363
364 /*MIC Failure detected by HW*/
365 WDI_MIC_FAILURE_IND,
366
367 /*Fatal Error Ind*/
368 WDI_FATAL_ERROR_IND,
369
370 /*Delete Station Ind*/
371 WDI_DEL_STA_IND,
372
373 /*Indication from Coex*/
374 WDI_COEX_IND,
375
376 /* Indication for Tx Complete */
377 WDI_TX_COMPLETE_IND,
378
379 /*.P2P_NOA_Attr_Indication */
380 WDI_P2P_NOA_ATTR_IND,
381
382 /* Preferred Network Found Indication */
383 WDI_PREF_NETWORK_FOUND_IND,
384
385 WDI_WAKE_REASON_IND,
386
387 /* Tx PER Tracking Indication */
388 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800389
Viral Modid86bde22012-12-10 13:09:21 -0800390 /* P2P_NOA_Start_Indication */
391 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800392
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530393 /* TDLS_Indication */
394 WDI_TDLS_IND,
395
Leo Chang9056f462013-08-01 19:21:11 -0700396 /* LPHB Timeout Indication from FW to umac */
397 WDI_LPHB_WAIT_TIMEOUT_IND,
398
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700399 /* IBSS Peer Inactivity Indication */
400 WDI_IBSS_PEER_INACTIVITY_IND,
401
Jeff Johnson295189b2012-06-20 16:38:30 -0700402 WDI_MAX_IND
403}WDI_LowLevelIndEnumType;
404
405
406/*---------------------------------------------------------------------------
407 WDI_LowRSSIThIndType
408---------------------------------------------------------------------------*/
409typedef struct
410{
411 /*Positive crossing of Rssi Thresh1*/
412 wpt_uint32 bRssiThres1PosCross : 1;
413 /*Negative crossing of Rssi Thresh1*/
414 wpt_uint32 bRssiThres1NegCross : 1;
415 /*Positive crossing of Rssi Thresh2*/
416 wpt_uint32 bRssiThres2PosCross : 1;
417 /*Negative crossing of Rssi Thresh2*/
418 wpt_uint32 bRssiThres2NegCross : 1;
419 /*Positive crossing of Rssi Thresh3*/
420 wpt_uint32 bRssiThres3PosCross : 1;
421 /*Negative crossing of Rssi Thresh3*/
422 wpt_uint32 bRssiThres3NegCross : 1;
423
Srinivasdaaec712012-12-12 15:59:44 -0800424 wpt_uint32 avgRssi : 8;
425 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700426
427}WDI_LowRSSIThIndType;
428
429
430/*---------------------------------------------------------------------------
431 WDI_UnkAddr2FrmRxIndType
432---------------------------------------------------------------------------*/
433typedef struct
434{
435 /*Rx Bd data of the unknown received addr2 frame.*/
436 void* bufRxBd;
437
438 /*Buffer Length*/
439 wpt_uint16 usBufLen;
440}WDI_UnkAddr2FrmRxIndType;
441
442/*---------------------------------------------------------------------------
443 WDI_DeleteSTAIndType
444---------------------------------------------------------------------------*/
445typedef struct
446{
447 /*ASSOC ID, as assigned by UMAC*/
448 wpt_uint16 usAssocId;
449
450 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
451 wpt_uint8 ucSTAIdx;
452
453 /*BSSID of STA*/
454 wpt_macAddr macBSSID;
455
456 /*MAC ADDR of STA*/
457 wpt_macAddr macADDR2;
458
459 /* To unify the keepalive / unknown A2 / tim-based disa*/
460 wpt_uint16 wptReasonCode;
461
462}WDI_DeleteSTAIndType;
463
464/*---------------------------------------------------------------------------
465 WDI_MicFailureIndType
466---------------------------------------------------------------------------*/
467typedef struct
468{
469 /*current BSSID*/
470 wpt_macAddr bssId;
471
472 /*Source mac address*/
473 wpt_macAddr macSrcAddr;
474
475 /*Transmitter mac address*/
476 wpt_macAddr macTaAddr;
477
478 /*Destination mac address*/
479 wpt_macAddr macDstAddr;
480
481 /*Multicast flag*/
482 wpt_uint8 ucMulticast;
483
484 /*First byte of IV*/
485 wpt_uint8 ucIV1;
486
487 /*Key Id*/
488 wpt_uint8 keyId;
489
490 /*Sequence Number*/
491 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
492
493 /*receive address */
494 wpt_macAddr macRxAddr;
495}WDI_MicFailureIndType;
496
497/*---------------------------------------------------------------------------
498 WDI_CoexIndType
499---------------------------------------------------------------------------*/
500typedef struct
501{
502 wpt_uint32 coexIndType;
503 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
504} WDI_CoexIndType;
505
506/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530507 WDI_DHCPInd
508---------------------------------------------------------------------------*/
509
510typedef struct
511{
512 wpt_uint8 device_mode;
513 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
514}WDI_DHCPInd;
515
516/*---------------------------------------------------------------------------
517
Jeff Johnson295189b2012-06-20 16:38:30 -0700518 WDI_MacSSid
519---------------------------------------------------------------------------*/
520typedef struct
521{
522 wpt_uint8 ucLength;
523 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
524} WDI_MacSSid;
525
526#ifdef FEATURE_WLAN_SCAN_PNO
527/*---------------------------------------------------------------------------
528 WDI_PrefNetworkFoundInd
529---------------------------------------------------------------------------*/
530typedef struct
531{
532 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700533 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700534 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700535 wpt_uint8 rssi;
536 wpt_uint16 frameLength;
537 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700538} WDI_PrefNetworkFoundInd;
539#endif // FEATURE_WLAN_SCAN_PNO
540
Jeff Johnson295189b2012-06-20 16:38:30 -0700541/*---------------------------------------------------------------------------
542 *WDI_P2pNoaAttrIndType
543 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700544typedef struct
545{
546 wpt_uint8 ucIndex ;
547 wpt_uint8 ucOppPsFlag ;
548 wpt_uint16 usCtWin ;
549
550 wpt_uint16 usNoa1IntervalCnt;
551 wpt_uint16 usRsvd1 ;
552 wpt_uint32 uslNoa1Duration;
553 wpt_uint32 uslNoa1Interval;
554 wpt_uint32 uslNoa1StartTime;
555
556 wpt_uint16 usNoa2IntervalCnt;
557 wpt_uint16 usRsvd2;
558 wpt_uint32 uslNoa2Duration;
559 wpt_uint32 uslNoa2Interval;
560 wpt_uint32 uslNoa2StartTime;
561
562 wpt_uint32 status;
563}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800564
565/*---------------------------------------------------------------------------
566 *WDI_P2pNoaStartIndType
567 *-------------------------------------------------------------------------*/
568typedef struct
569{
570 wpt_uint32 status;
571 wpt_uint32 bssIdx;
572}WDI_P2pNoaStartIndType;
573
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530574/*---------------------------------------------------------------------------
575 *WDI_TdlsIndType
576 *-------------------------------------------------------------------------*/
577typedef struct
578{
579 wpt_uint16 status;
580 wpt_uint16 assocId;
581 wpt_uint16 staIdx;
582 wpt_uint16 reasonCode;
583}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700584
585#ifdef WLAN_WAKEUP_EVENTS
586/*---------------------------------------------------------------------------
587 WDI_WakeReasonIndType
588---------------------------------------------------------------------------*/
589typedef struct
590{
591 wpt_uint32 ulReason; /* see tWakeReasonType */
592 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
593 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
594 HAL truncates the data (i.e. data packets) this length
595 will be less than the actual length */
596 wpt_uint32 ulActualDataLen; /* actual length of data */
597 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
598 see specific wake type */
599} WDI_WakeReasonIndType;
600#endif // WLAN_WAKEUP_EVENTS
601
602/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800603 WDI_MissedBeaconIndType
604-----------------------------------------------------------------------------*/
605typedef struct
606{
607 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
608} WDI_MissedBeaconIndType;
609
Leo Chang9056f462013-08-01 19:21:11 -0700610#ifdef FEATURE_WLAN_LPHB
611/*---------------------------------------------------------------------------
612 WDI_LPHBTimeoutIndData
613-----------------------------------------------------------------------------*/
614typedef struct
615{
616 wpt_uint8 bssIdx;
617 wpt_uint8 sessionIdx;
618 wpt_uint8 protocolType; /*TCP or UDP*/
619 wpt_uint8 eventReason;
620} WDI_LPHBTimeoutIndData;
621#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800622
623/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700624 WDI_IbssPeerInactivityIndType
625-----------------------------------------------------------------------------*/
626typedef struct
627{
628 wpt_uint8 bssIdx;
629 wpt_uint8 staIdx;
630 wpt_macAddr staMacAddr;
631}WDI_IbssPeerInactivityIndType;
632
633/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 WDI_LowLevelIndType
635 Inidcation type and information about the indication being carried
636 over
637---------------------------------------------------------------------------*/
638typedef struct
639{
640 /*Inidcation type*/
641 WDI_LowLevelIndEnumType wdiIndicationType;
642
643 /*Indication data*/
644 union
645 {
646 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
647 WDI_LowRSSIThIndType wdiLowRSSIInfo;
648
649 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
650 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
651
652 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
653 WDI_MicFailureIndType wdiMICFailureInfo;
654
655 /*Error code for WDI_FATAL_ERROR_IND*/
656 wpt_uint16 usErrorCode;
657
658 /*Delete STA Indication*/
659 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
660
661 /*Coex Indication*/
662 WDI_CoexIndType wdiCoexInfo;
663
664 /* Tx Complete Indication */
665 wpt_uint32 tx_complete_status;
666
Jeff Johnson295189b2012-06-20 16:38:30 -0700667 /* P2P NOA ATTR Indication */
668 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800669 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530670 /* TDLS Indications */
671 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700672
673
674#ifdef FEATURE_WLAN_SCAN_PNO
675 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
676#endif // FEATURE_WLAN_SCAN_PNO
677
678#ifdef WLAN_WAKEUP_EVENTS
679 WDI_WakeReasonIndType wdiWakeReasonInd;
680#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800681 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700682
Leo Chang9056f462013-08-01 19:21:11 -0700683#ifdef FEATURE_WLAN_LPHB
684 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
685#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700686
687 /* IBSS Peer Inactivity Indication */
688 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
689
Jeff Johnson295189b2012-06-20 16:38:30 -0700690 } wdiIndicationData;
691}WDI_LowLevelIndType;
692
693/*---------------------------------------------------------------------------
694 WDI_LowLevelIndCBType
695
696 DESCRIPTION
697
698 This callback is invoked by DAL to deliver to UMAC certain indications
699 that has either received from the lower device or has generated itself.
700
701 PARAMETERS
702
703 IN
704 pwdiInd: information about the indication sent over
705 pUserData: user data provided by UMAC during registration
706
707
708
709 RETURN VALUE
710 The result code associated with performing the operation
711---------------------------------------------------------------------------*/
712typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
713 void* pUserData);
714
715/*---------------------------------------------------------------------------
716 WDI_DriverType
717---------------------------------------------------------------------------*/
718typedef enum
719{
720 WDI_DRIVER_TYPE_PRODUCTION = 0,
721 WDI_DRIVER_TYPE_MFG = 1,
722 WDI_DRIVER_TYPE_DVT = 2
723} WDI_DriverType;
724
725/*---------------------------------------------------------------------------
726 WDI_StartReqParamsType
727---------------------------------------------------------------------------*/
728typedef struct
729{
730 /*This is a TLV formatted buffer containing all config values that can
731 be set through the DAL Interface
732
733 The TLV is expected to be formatted like this:
734
735 0 7 15 31 ....
736 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
737
738 Or from a C construct point of VU it would look like this:
739
740 typedef struct WPT_PACK_POST
741 {
742 #ifdef WPT_BIG_ENDIAN
743 wpt_uint32 ucCfgId:8;
744 wpt_uint32 ucCfgLen:8;
745 wpt_uint32 usReserved:16;
746 #else
747 wpt_uint32 usReserved:16;
748 wpt_uint32 ucCfgLen:8;
749 wpt_uint32 ucCfgId:8;
750 #endif
751
752 wpt_uint8 ucCfgBody[ucCfgLen];
753 }WDI_ConfigType;
754
755 Multiple such tuplets are to be placed in the config buffer. One for
756 each required configuration item:
757
758 | TLV 1 | TLV2 | ....
759
760 The buffer is expected to be a flat area of memory that can be manipulated
761 with standard memory routines.
762
763 For more info please check paragraph 2.3.1 Config Structure from the
764 HAL LLD.
765
766 For a list of accepted configuration list and IDs please look up
767 wlan_qct_dal_cfg.h
768
769 */
770 void* pConfigBuffer;
771
772 /*Length of the config buffer above*/
773 wpt_uint16 usConfigBufferLen;
774
775 /*Production or FTM driver*/
776 WDI_DriverType wdiDriverType;
777
778 /*Should device enable frame translation */
779 wpt_uint8 bFrameTransEnabled;
780
781 /*Request status callback offered by UMAC - it is called if the current
782 req has returned PENDING as status; it delivers the status of sending
783 the message over the BUS */
784 WDI_ReqStatusCb wdiReqStatusCB;
785
786 /*The user data passed in by UMAC, it will be sent back when the above
787 function pointer will be called */
788 void* pUserData;
789
790 /*Indication callback given by UMAC to be called by the WLAN DAL when it
791 wishes to send something back independent of a request*/
792 WDI_LowLevelIndCBType wdiLowLevelIndCB;
793
794 /*The user data passed in by UMAC, it will be sent back when the indication
795 function pointer will be called */
796 void* pIndUserData;
797}WDI_StartReqParamsType;
798
799
800/*---------------------------------------------------------------------------
801 WDI_StartRspParamsType
802---------------------------------------------------------------------------*/
803typedef struct
804{
805 /*Status of the response*/
806 WDI_Status wdiStatus;
807
808 /*Max number of STA supported by the device*/
809 wpt_uint8 ucMaxStations;
810
811 /*Max number of BSS supported by the device*/
812 wpt_uint8 ucMaxBssids;
813
814 /*Version of the WLAN HAL API with which we were compiled*/
815 WDI_WlanVersionType wlanCompiledVersion;
816
817 /*Version of the WLAN HAL API that was reported*/
818 WDI_WlanVersionType wlanReportedVersion;
819
820 /*WCNSS Software version string*/
821 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
822
823 /*WCNSS Hardware version string*/
824 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
825}WDI_StartRspParamsType;
826
827
828/*---------------------------------------------------------------------------
829 WDI_StopType
830---------------------------------------------------------------------------*/
831typedef enum
832{
833 /*Device is being stopped due to a reset*/
834 WDI_STOP_TYPE_SYS_RESET,
835
836 /*Device is being stopped due to entering deep sleep*/
837 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
838
839 /*Device is being stopped because the RF needs to shut off
840 (e.g.:Airplane mode)*/
841 WDI_STOP_TYPE_RF_KILL
842}WDI_StopType;
843
844/*---------------------------------------------------------------------------
845 WDI_StopReqParamsType
846---------------------------------------------------------------------------*/
847typedef struct
848{
849
850 /*The reason for which the device is being stopped*/
851 WDI_StopType wdiStopReason;
852
853 /*Request status callback offered by UMAC - it is called if the current
854 req has returned PENDING as status; it delivers the status of sending
855 the message over the BUS */
856 WDI_ReqStatusCb wdiReqStatusCB;
857
858 /*The user data passed in by UMAC, it will be sent back when the above
859 function pointer will be called */
860 void* pUserData;
861}WDI_StopReqParamsType;
862
863
864/*---------------------------------------------------------------------------
865 WDI_ScanMode
866---------------------------------------------------------------------------*/
867typedef enum
868{
869 WDI_SCAN_MODE_NORMAL = 0,
870 WDI_SCAN_MODE_LEARN,
871 WDI_SCAN_MODE_SCAN,
872 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -0700873 WDI_SCAN_MODE_SUSPEND_LINK,
874 WDI_SCAN_MODE_ROAM_SCAN,
875 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
876
Jeff Johnson295189b2012-06-20 16:38:30 -0700877} WDI_ScanMode;
878
879/*---------------------------------------------------------------------------
880 WDI_ScanEntry
881---------------------------------------------------------------------------*/
882typedef struct
883{
884 wpt_uint8 bssIdx[WDI_NUM_BSSID];
885 wpt_uint8 activeBSScnt;
886}WDI_ScanEntry;
887
888/*---------------------------------------------------------------------------
889 WDI_InitScanReqInfoType
890---------------------------------------------------------------------------*/
891typedef struct
892{
893 /*LEARN - AP Role
894 SCAN - STA Role*/
895 WDI_ScanMode wdiScanMode;
896
897 /*BSSID of the BSS*/
898 wpt_macAddr macBSSID;
899
900 /*Whether BSS needs to be notified*/
901 wpt_boolean bNotifyBSS;
902
903 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
904 CTS to Self). Must always be a valid frame type.*/
905 wpt_uint8 ucFrameType;
906
907 /*UMAC has the option of passing the MAC frame to be used for notifying
908 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
909 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
910 frameType.*/
911 wpt_uint8 ucFrameLength;
912
913 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
914 WDI_MacMgmtHdr wdiMACMgmtHdr;
915
916 /*Entry to hold number of active BSS to send NULL frames before
917 * initiating SCAN*/
918 WDI_ScanEntry wdiScanEntry;
919
920 /* Flag to enable/disable Single NOA*/
921 wpt_boolean bUseNOA;
922
923 /* Indicates the scan duration (in ms) */
924 wpt_uint16 scanDuration;
925
926}WDI_InitScanReqInfoType;
927
928/*---------------------------------------------------------------------------
929 WDI_InitScanReqParamsType
930---------------------------------------------------------------------------*/
931typedef struct
932{
933 /*The info associated with the request that needs to be sent over to the
934 device*/
935 WDI_InitScanReqInfoType wdiReqInfo;
936
937 /*Request status callback offered by UMAC - it is called if the current
938 req has returned PENDING as status; it delivers the status of sending
939 the message over the BUS */
940 WDI_ReqStatusCb wdiReqStatusCB;
941
942 /*The user data passed in by UMAC, it will be sent back when the above
943 function pointer will be called */
944 void* pUserData;
945}WDI_InitScanReqParamsType;
946
947/*---------------------------------------------------------------------------
948 WDI_StartScanReqParamsType
949---------------------------------------------------------------------------*/
950typedef struct
951{
952 /*Indicates the channel to scan*/
953 wpt_uint8 ucChannel;
954
955 /*Request status callback offered by UMAC - it is called if the current
956 req has returned PENDING as status; it delivers the status of sending
957 the message over the BUS */
958 WDI_ReqStatusCb wdiReqStatusCB;
959
960 /*The user data passed in by UMAC, it will be sent back when the above
961 function pointer will be called */
962 void* pUserData;
963}WDI_StartScanReqParamsType;
964
965/*---------------------------------------------------------------------------
966 WDI_StartScanRspParamsType
967---------------------------------------------------------------------------*/
968typedef struct
969{
970 /*Indicates the status of the operation */
971 WDI_Status wdiStatus;
972
973#if defined WLAN_FEATURE_VOWIFI
974 wpt_uint32 aStartTSF[2];
975 wpt_int8 ucTxMgmtPower;
976#endif
977}WDI_StartScanRspParamsType;
978
979/*---------------------------------------------------------------------------
980 WDI_EndScanReqParamsType
981---------------------------------------------------------------------------*/
982typedef struct
983{
984 /*Indicates the channel to stop scanning. Not used really. But retained
985 for symmetry with "start Scan" message. It can also help in error
986 check if needed.*/
987 wpt_uint8 ucChannel;
988
989 /*Request status callback offered by UMAC - it is called if the current
990 req has returned PENDING as status; it delivers the status of sending
991 the message over the BUS */
992 WDI_ReqStatusCb wdiReqStatusCB;
993
994 /*The user data passed in by UMAC, it will be sent back when the above
995 function pointer will be called */
996 void* pUserData;
997}WDI_EndScanReqParamsType;
998
999/*---------------------------------------------------------------------------
1000 WDI_PhyChanBondState
1001---------------------------------------------------------------------------*/
1002typedef enum
1003{
1004 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1005 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1006 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001007 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1008#ifdef WLAN_FEATURE_11AC
1009 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1010 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1011 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1012 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1013 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1014 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1015 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1016#endif
1017 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001018} WDI_PhyChanBondState;
1019
1020/*---------------------------------------------------------------------------
1021 WDI_FinishScanReqInfoType
1022---------------------------------------------------------------------------*/
1023typedef struct
1024{
1025 /*LEARN - AP Role
1026 SCAN - STA Role*/
1027 WDI_ScanMode wdiScanMode;
1028
1029 /*Operating channel to tune to.*/
1030 wpt_uint8 ucCurrentOperatingChannel;
1031
1032 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1033 40 MHz extension channel in combination with the control channel*/
1034 WDI_PhyChanBondState wdiCBState;
1035
1036 /*BSSID of the BSS*/
1037 wpt_macAddr macBSSID;
1038
1039 /*Whether BSS needs to be notified*/
1040 wpt_boolean bNotifyBSS;
1041
1042 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1043 CTS to Self). Must always be a valid frame type.*/
1044 wpt_uint8 ucFrameType;
1045
1046 /*UMAC has the option of passing the MAC frame to be used for notifying
1047 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1048 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1049 frameType.*/
1050 wpt_uint8 ucFrameLength;
1051
1052 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1053 WDI_MacMgmtHdr wdiMACMgmtHdr;
1054
1055 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1056 WDI_ScanEntry wdiScanEntry;
1057
1058}WDI_FinishScanReqInfoType;
1059
1060/*---------------------------------------------------------------------------
1061 WDI_SwitchChReqInfoType
1062---------------------------------------------------------------------------*/
1063typedef struct
1064{
1065 /*Indicates the channel to switch to.*/
1066 wpt_uint8 ucChannel;
1067
1068 /*Local power constraint*/
1069 wpt_uint8 ucLocalPowerConstraint;
1070
1071 /*Secondary channel offset */
1072 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1073
1074#ifdef WLAN_FEATURE_VOWIFI
1075 wpt_int8 cMaxTxPower;
1076
1077 /*Self STA Mac address*/
1078 wpt_macAddr macSelfStaMacAddr;
1079#endif
1080 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1081 request has power constraints, this should be applied only to that session */
1082 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1083 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1084 */
1085 wpt_macAddr macBSSId;
1086
1087}WDI_SwitchChReqInfoType;
1088
1089/*---------------------------------------------------------------------------
1090 WDI_SwitchChReqParamsType
1091---------------------------------------------------------------------------*/
1092typedef struct
1093{
1094 /*Channel Info*/
1095 WDI_SwitchChReqInfoType wdiChInfo;
1096
1097 /*Request status callback offered by UMAC - it is called if the current
1098 req has returned PENDING as status; it delivers the status of sending
1099 the message over the BUS */
1100 WDI_ReqStatusCb wdiReqStatusCB;
1101
1102 /*The user data passed in by UMAC, it will be sent back when the above
1103 function pointer will be called */
1104 void* pUserData;
1105}WDI_SwitchChReqParamsType;
1106
1107/*---------------------------------------------------------------------------
1108 WDI_FinishScanReqParamsType
1109---------------------------------------------------------------------------*/
1110typedef struct
1111{
1112 /*Info for the Finish Scan request that will be sent down to the device*/
1113 WDI_FinishScanReqInfoType wdiReqInfo;
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_FinishScanReqParamsType;
1124
1125/*---------------------------------------------------------------------------
1126 WDI_JoinReqInfoType
1127---------------------------------------------------------------------------*/
1128typedef struct
1129{
1130 /*Indicates the BSSID to which STA is going to associate*/
1131 wpt_macAddr macBSSID;
1132
1133 /*Indicates the MAC Address of the current Self STA*/
1134 wpt_macAddr macSTASelf;
1135
1136 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1137 wpt_uint32 linkState;
1138
1139 /*Indicates the channel to switch to.*/
1140 WDI_SwitchChReqInfoType wdiChannelInfo;
1141
1142}WDI_JoinReqInfoType;
1143
1144/*---------------------------------------------------------------------------
1145 WDI_JoinReqParamsType
1146---------------------------------------------------------------------------*/
1147typedef struct
1148{
1149 /*Info for the Join request that will be sent down to the device*/
1150 WDI_JoinReqInfoType wdiReqInfo;
1151
1152 /*Request status callback offered by UMAC - it is called if the current
1153 req has returned PENDING as status; it delivers the status of sending
1154 the message over the BUS */
1155 WDI_ReqStatusCb wdiReqStatusCB;
1156
1157 /*The user data passed in by UMAC, it will be sent back when the above
1158 function pointer will be called */
1159 void* pUserData;
1160}WDI_JoinReqParamsType;
1161
1162/*---------------------------------------------------------------------------
1163 WDI_BssType
1164---------------------------------------------------------------------------*/
1165typedef enum
1166{
1167 WDI_INFRASTRUCTURE_MODE,
1168 WDI_INFRA_AP_MODE, //Added for softAP support
1169 WDI_IBSS_MODE,
1170 WDI_BTAMP_STA_MODE,
1171 WDI_BTAMP_AP_MODE,
1172 WDI_BSS_AUTO_MODE,
1173}WDI_BssType;
1174
1175/*---------------------------------------------------------------------------
1176 WDI_NwType
1177---------------------------------------------------------------------------*/
1178typedef enum
1179{
1180 WDI_11A_NW_TYPE,
1181 WDI_11B_NW_TYPE,
1182 WDI_11G_NW_TYPE,
1183 WDI_11N_NW_TYPE,
1184} WDI_NwType;
1185
1186/*---------------------------------------------------------------------------
1187 WDI_ConfigAction
1188---------------------------------------------------------------------------*/
1189typedef enum
1190{
1191 WDI_ADD_BSS,
1192 WDI_UPDATE_BSS
1193} WDI_ConfigAction;
1194
1195/*---------------------------------------------------------------------------
1196 WDI_HTOperatingMode
1197---------------------------------------------------------------------------*/
1198typedef enum
1199{
1200 WDI_HT_OP_MODE_PURE,
1201 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1202 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1203 WDI_HT_OP_MODE_MIXED
1204
1205} WDI_HTOperatingMode;
1206
1207
1208/*---------------------------------------------------------------------------
1209 WDI_STAEntryType
1210---------------------------------------------------------------------------*/
1211typedef enum
1212{
1213 WDI_STA_ENTRY_SELF,
1214 WDI_STA_ENTRY_PEER,
1215 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001216 WDI_STA_ENTRY_BCAST,
1217#ifdef FEATURE_WLAN_TDLS
1218 WDI_STA_ENTRY_TDLS_PEER,
1219#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001220}WDI_STAEntryType;
1221
1222/*---------------------------------------------------------------------------
1223 WDI_ConfigActionType
1224---------------------------------------------------------------------------*/
1225typedef enum
1226{
1227 WDI_ADD_STA,
1228 WDI_UPDATE_STA
1229} WDI_ConfigActionType;
1230
1231/*----------------------------------------------------------------------------
1232 Each station added has a rate mode which specifies the sta attributes
1233 ----------------------------------------------------------------------------*/
1234typedef enum
1235{
1236 WDI_RESERVED_1 = 0,
1237 WDI_RESERVED_2,
1238 WDI_RESERVED_3,
1239 WDI_11b,
1240 WDI_11bg,
1241 WDI_11a,
1242 WDI_11n,
1243} WDI_RateModeType;
1244
1245/*---------------------------------------------------------------------------
1246 WDI_SupportedRatesType
1247---------------------------------------------------------------------------*/
1248typedef struct
1249{
1250 /*
1251 * For Self STA Entry: this represents Self Mode.
1252 * For Peer Stations, this represents the mode of the peer.
1253 * On Station:
1254 * --this mode is updated when PE adds the Self Entry.
1255 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1256 * ON AP:
1257 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1258 * to indicate the self mode of the AP.
1259 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1260 */
1261
1262 WDI_RateModeType opRateMode;
1263
1264 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1265 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1266 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1267 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1268
1269 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1270 First 26 bits are reserved for those Titan rates and
1271 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1272 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1273
1274 /*
1275 * 0-76 bits used, remaining reserved
1276 * bits 0-15 and 32 should be set.
1277 */
1278 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1279
1280 /*
1281 * RX Highest Supported Data Rate defines the highest data
1282 * rate that the STA is able to receive, in unites of 1Mbps.
1283 * This value is derived from "Supported MCS Set field" inside
1284 * the HT capability element.
1285 */
1286 wpt_uint16 aRxHighestDataRate;
1287
Jeff Johnsone7245742012-09-05 17:12:55 -07001288
1289#ifdef WLAN_FEATURE_11AC
1290 /*Indicates the Maximum MCS that can be received for each number
1291 of spacial streams */
1292 wpt_uint16 vhtRxMCSMap;
1293 /*Indicate the highest VHT data rate that the STA is able to receive*/
1294 wpt_uint16 vhtRxHighestDataRate;
1295 /*Indicates the Maximum MCS that can be transmitted for each number
1296 of spacial streams */
1297 wpt_uint16 vhtTxMCSMap;
1298 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1299 wpt_uint16 vhtTxHighestDataRate;
1300#endif
1301
Jeff Johnson295189b2012-06-20 16:38:30 -07001302} WDI_SupportedRates;
1303
1304/*--------------------------------------------------------------------------
1305 WDI_HTMIMOPowerSaveState
1306 Spatial Multiplexing(SM) Power Save mode
1307 --------------------------------------------------------------------------*/
1308typedef enum
1309{
1310 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1311 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1312 WDI_HT_MIMO_PS_NA = 2, // reserved
1313 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1314} WDI_HTMIMOPowerSaveState;
1315
1316/*---------------------------------------------------------------------------
1317 WDI_ConfigStaReqInfoType
1318---------------------------------------------------------------------------*/
1319typedef struct
1320{
1321 /*BSSID of STA*/
1322 wpt_macAddr macBSSID;
1323
1324 /*ASSOC ID, as assigned by UMAC*/
1325 wpt_uint16 usAssocId;
1326
1327 /*Used for configuration of different HW modules.*/
1328 WDI_STAEntryType wdiSTAType;
1329
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001330 /*STA Index */
1331 wpt_uint8 staIdx;
1332
Jeff Johnson295189b2012-06-20 16:38:30 -07001333 /*Short Preamble Supported.*/
1334 wpt_uint8 ucShortPreambleSupported;
1335
1336 /*MAC Address of STA*/
1337 wpt_macAddr macSTA;
1338
1339 /*Listen interval of the STA*/
1340 wpt_uint16 usListenInterval;
1341
1342 /*Support for 11e/WMM*/
1343 wpt_uint8 ucWMMEnabled;
1344
1345 /*11n HT capable STA*/
1346 wpt_uint8 ucHTCapable;
1347
1348 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1349 wpt_uint8 ucTXChannelWidthSet;
1350
1351 /*RIFS mode 0 - NA, 1 - Allowed*/
1352 wpt_uint8 ucRIFSMode;
1353
1354 /*L-SIG TXOP Protection mechanism
1355 0 - No Support, 1 - Supported
1356 SG - there is global field*/
1357 wpt_uint8 ucLSIGTxopProtection;
1358
1359 /*Max Ampdu Size supported by STA. Device programming.
1360 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1361 wpt_uint8 ucMaxAmpduSize;
1362
1363 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1364 wpt_uint8 ucMaxAmpduDensity;
1365
1366 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1367 wpt_uint8 ucMaxAmsduSize;
1368
1369 /*Short GI support for 40Mhz packets*/
1370 wpt_uint8 ucShortGI40Mhz;
1371
1372 /*Short GI support for 20Mhz packets*/
1373 wpt_uint8 ucShortGI20Mhz;
1374
1375 /*These rates are the intersection of peer and self capabilities.*/
1376 WDI_SupportedRates wdiSupportedRates;
1377
1378 /*Robust Management Frame (RMF) enabled/disabled*/
1379 wpt_uint8 ucRMFEnabled;
1380
1381 /* The unicast encryption type in the association */
1382 wpt_uint32 ucEncryptType;
1383
1384 /*HAL should update the existing STA entry, if this flag is set. UMAC
1385 will set this flag in case of RE-ASSOC, where we want to reuse the old
1386 STA ID.*/
1387 WDI_ConfigActionType wdiAction;
1388
1389 /*U-APSD Flags: 1b per AC. Encoded as follows:
1390 b7 b6 b5 b4 b3 b2 b1 b0 =
1391 X X X X BE BK VI VO
1392 */
1393 wpt_uint8 ucAPSD;
1394
1395 /*Max SP Length*/
1396 wpt_uint8 ucMaxSPLen;
1397
1398 /*11n Green Field preamble support*/
1399 wpt_uint8 ucGreenFieldCapable;
1400
1401 /*MIMO Power Save mode*/
1402 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1403
1404 /*Delayed BA Support*/
1405 wpt_uint8 ucDelayedBASupport;
1406
1407 /*Max AMPDU duration in 32us*/
1408 wpt_uint8 us32MaxAmpduDuratio;
1409
1410 /*HT STA should set it to 1 if it is enabled in BSS
1411 HT STA should set it to 0 if AP does not support it. This indication is
1412 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1413 */
1414 wpt_uint8 ucDsssCckMode40Mhz;
1415
1416 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001417#ifdef WLAN_FEATURE_11AC
1418 wpt_uint8 ucVhtCapableSta;
1419 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001420 wpt_uint8 ucVhtTxBFEnabled;
Jeff Johnsone7245742012-09-05 17:12:55 -07001421#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001422
1423 wpt_uint8 ucHtLdpcEnabled;
1424 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001425}WDI_ConfigStaReqInfoType;
1426
1427
1428/*---------------------------------------------------------------------------
1429 WDI_RateSet
1430
1431 12 Bytes long because this structure can be used to represent rate
1432 and extended rate set IEs
1433 The parser assume this to be at least 12
1434---------------------------------------------------------------------------*/
1435#define WDI_RATESET_EID_MAX 12
1436
1437typedef struct
1438{
1439 wpt_uint8 ucNumRates;
1440 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1441} WDI_RateSet;
1442
1443/*---------------------------------------------------------------------------
1444 WDI_AciAifsnType
1445 access category record
1446---------------------------------------------------------------------------*/
1447typedef struct
1448{
1449 wpt_uint8 rsvd : 1;
1450 wpt_uint8 aci : 2;
1451 wpt_uint8 acm : 1;
1452 wpt_uint8 aifsn : 4;
1453} WDI_AciAifsnType;
1454
1455/*---------------------------------------------------------------------------
1456 WDI_CWType
1457 contention window size
1458---------------------------------------------------------------------------*/
1459typedef struct
1460{
1461 wpt_uint8 max : 4;
1462 wpt_uint8 min : 4;
1463} WDI_CWType;
1464
1465/*---------------------------------------------------------------------------
1466 WDI_EdcaParamRecord
1467---------------------------------------------------------------------------*/
1468typedef struct
1469{
1470 /*Access Category Record*/
1471 WDI_AciAifsnType wdiACI;
1472
1473 /*Contention WIndow Size*/
1474 WDI_CWType wdiCW;
1475
1476 /*TX Oportunity Limit*/
1477 wpt_uint16 usTXOPLimit;
1478} WDI_EdcaParamRecord;
1479
1480/*---------------------------------------------------------------------------
1481 WDI_EDCAParamsType
1482---------------------------------------------------------------------------*/
1483typedef struct
1484{
1485 /*BSS Index*/
1486 wpt_uint8 ucBSSIdx;
1487
1488 /*?*/
1489 wpt_boolean bHighPerformance;
1490
1491 /*Best Effort*/
1492 WDI_EdcaParamRecord wdiACBE;
1493
1494 /*Background*/
1495 WDI_EdcaParamRecord wdiACBK;
1496
1497 /*Video*/
1498 WDI_EdcaParamRecord wdiACVI;
1499
1500 /*Voice*/
1501 WDI_EdcaParamRecord acvo; // voice
1502} WDI_EDCAParamsType;
1503
1504/* operMode in ADD BSS message */
1505#define WDI_BSS_OPERATIONAL_MODE_AP 0
1506#define WDI_BSS_OPERATIONAL_MODE_STA 1
1507
1508/*---------------------------------------------------------------------------
1509 WDI_ConfigBSSRspParamsType
1510---------------------------------------------------------------------------*/
1511typedef struct
1512{
1513 /*Status of the response*/
1514 WDI_Status wdiStatus;
1515
1516 /*BSSID of the BSS*/
1517 wpt_macAddr macBSSID;
1518
1519 /*BSS Index*/
1520 wpt_uint8 ucBSSIdx;
1521
1522 /*Unicast DPU signature*/
1523 wpt_uint8 ucUcastSig;
1524
1525 /*Broadcast DPU Signature*/
1526 wpt_uint8 ucBcastSig;
1527
1528 /*MAC Address of STA*/
1529 wpt_macAddr macSTA;
1530
1531 /*BSS STA ID*/
1532 wpt_uint8 ucSTAIdx;
1533
1534#ifdef WLAN_FEATURE_VOWIFI
1535 /*HAL fills in the tx power used for mgmt frames in this field */
1536 wpt_int8 ucTxMgmtPower;
1537#endif
1538
1539}WDI_ConfigBSSRspParamsType;
1540
1541/*---------------------------------------------------------------------------
1542 WDI_DelBSSReqParamsType
1543---------------------------------------------------------------------------*/
1544typedef struct
1545{
1546 /*BSS Index of the BSS*/
1547 wpt_uint8 ucBssIdx;
1548
1549 /*Request status callback offered by UMAC - it is called if the current
1550 req has returned PENDING as status; it delivers the status of sending
1551 the message over the BUS */
1552 WDI_ReqStatusCb wdiReqStatusCB;
1553
1554 /*The user data passed in by UMAC, it will be sent back when the above
1555 function pointer will be called */
1556 void* pUserData;
1557}WDI_DelBSSReqParamsType;
1558
1559/*---------------------------------------------------------------------------
1560 WDI_DelBSSRspParamsType
1561---------------------------------------------------------------------------*/
1562typedef struct
1563{
1564 /*Status of the response*/
1565 WDI_Status wdiStatus;
1566
1567 /*BSSID of the BSS*/
1568 wpt_macAddr macBSSID;
1569
1570 wpt_uint8 ucBssIdx;
1571
1572}WDI_DelBSSRspParamsType;
1573
1574/*---------------------------------------------------------------------------
1575 WDI_ConfigSTARspParamsType
1576---------------------------------------------------------------------------*/
1577typedef struct
1578{
1579 /*Status of the response*/
1580 WDI_Status wdiStatus;
1581
1582 /*STA Idx allocated by HAL*/
1583 wpt_uint8 ucSTAIdx;
1584
1585 /*MAC Address of STA*/
1586 wpt_macAddr macSTA;
1587
1588 /* BSSID Index of BSS to which the station is associated */
1589 wpt_uint8 ucBssIdx;
1590
1591 /* DPU Index - PTK */
1592 wpt_uint8 ucDpuIndex;
1593
1594 /* Bcast DPU Index - GTK */
1595 wpt_uint8 ucBcastDpuIndex;
1596
1597 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1598 wpt_uint8 ucBcastMgmtDpuIdx;
1599
1600 /*Unicast DPU signature*/
1601 wpt_uint8 ucUcastSig;
1602
1603 /*Broadcast DPU Signature*/
1604 wpt_uint8 ucBcastSig;
1605
1606 /* IGTK DPU signature*/
1607 wpt_uint8 ucMgmtSig;
1608
1609}WDI_ConfigSTARspParamsType;
1610
1611/*---------------------------------------------------------------------------
1612 WDI_PostAssocRspParamsType
1613---------------------------------------------------------------------------*/
1614typedef struct
1615{
1616 /*Status of the response*/
1617 WDI_Status wdiStatus;
1618
1619 /*Parameters related to the BSS*/
1620 WDI_ConfigBSSRspParamsType bssParams;
1621
1622 /*Parameters related to the self STA*/
1623 WDI_ConfigSTARspParamsType staParams;
1624
1625}WDI_PostAssocRspParamsType;
1626
1627/*---------------------------------------------------------------------------
1628 WDI_DelSTAReqParamsType
1629---------------------------------------------------------------------------*/
1630typedef struct
1631{
1632 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1633 wpt_uint8 ucSTAIdx;
1634
1635 /*Request status callback offered by UMAC - it is called if the current
1636 req has returned PENDING as status; it delivers the status of sending
1637 the message over the BUS */
1638 WDI_ReqStatusCb wdiReqStatusCB;
1639
1640 /*The user data passed in by UMAC, it will be sent back when the above
1641 function pointer will be called */
1642 void* pUserData;
1643}WDI_DelSTAReqParamsType;
1644
1645/*---------------------------------------------------------------------------
1646 WDI_DelSTARspParamsType
1647---------------------------------------------------------------------------*/
1648typedef struct
1649{
1650 /*Status of the response*/
1651 WDI_Status wdiStatus;
1652
1653 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1654 wpt_uint8 ucSTAIdx;
1655}WDI_DelSTARspParamsType;
1656
1657/*---------------------------------------------------------------------------
1658 WDI_EncryptType
1659---------------------------------------------------------------------------*/
1660typedef enum
1661{
1662 WDI_ENCR_NONE,
1663 WDI_ENCR_WEP40,
1664 WDI_ENCR_WEP104,
1665 WDI_ENCR_TKIP,
1666 WDI_ENCR_CCMP,
1667#if defined(FEATURE_WLAN_WAPI)
1668 WDI_ENCR_WPI,
1669#endif
1670 WDI_ENCR_AES_128_CMAC
1671} WDI_EncryptType;
1672
1673/*---------------------------------------------------------------------------
1674 WDI_KeyDirectionType
1675---------------------------------------------------------------------------*/
1676typedef enum
1677{
1678 WDI_TX_ONLY,
1679 WDI_RX_ONLY,
1680 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001681 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001682 WDI_DONOT_USE_KEY_DIRECTION
1683} WDI_KeyDirectionType;
1684
1685#define WDI_MAX_ENCR_KEYS 4
1686#define WDI_MAX_KEY_LENGTH 32
1687#if defined(FEATURE_WLAN_WAPI)
1688#define WDI_MAX_KEY_RSC_LEN 16
1689#define WDI_WAPI_KEY_RSC_LEN 16
1690#else
1691#define WDI_MAX_KEY_RSC_LEN 8
1692#endif
1693
1694typedef struct
1695{
1696 /* Key ID */
1697 wpt_uint8 keyId;
1698 /* 0 for multicast */
1699 wpt_uint8 unicast;
1700 /* Key Direction */
1701 WDI_KeyDirectionType keyDirection;
1702 /* Usage is unknown */
1703 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1704 /* =1 for authenticator, =0 for supplicant */
1705 wpt_uint8 paeRole;
1706 wpt_uint16 keyLength;
1707 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1708
1709}WDI_KeysType;
1710
1711/*---------------------------------------------------------------------------
1712 WDI_SetBSSKeyReqInfoType
1713---------------------------------------------------------------------------*/
1714typedef struct
1715{
1716 /*BSS Index of the BSS*/
1717 wpt_uint8 ucBssIdx;
1718
1719 /*Encryption Type used with peer*/
1720 WDI_EncryptType wdiEncType;
1721
1722 /*Number of keys*/
1723 wpt_uint8 ucNumKeys;
1724
1725 /*Array of keys.*/
1726 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1727
1728 /*Control for Replay Count, 1= Single TID based replay count on Tx
1729 0 = Per TID based replay count on TX */
1730 wpt_uint8 ucSingleTidRc;
1731}WDI_SetBSSKeyReqInfoType;
1732
1733/*---------------------------------------------------------------------------
1734 WDI_SetBSSKeyReqParamsType
1735---------------------------------------------------------------------------*/
1736typedef struct
1737{
1738 /*Key Info */
1739 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
1740
1741 /*Request status callback offered by UMAC - it is called if the current
1742 req has returned PENDING as status; it delivers the status of sending
1743 the message over the BUS */
1744 WDI_ReqStatusCb wdiReqStatusCB;
1745
1746 /*The user data passed in by UMAC, it will be sent back when the above
1747 function pointer will be called */
1748 void* pUserData;
1749}WDI_SetBSSKeyReqParamsType;
1750
1751/*---------------------------------------------------------------------------
1752 WDI_WepType
1753---------------------------------------------------------------------------*/
1754typedef enum
1755{
1756 WDI_WEP_STATIC,
1757 WDI_WEP_DYNAMIC
1758
1759} WDI_WepType;
1760
1761/*---------------------------------------------------------------------------
1762 WDI_RemoveBSSKeyReqInfoType
1763---------------------------------------------------------------------------*/
1764typedef struct
1765{
1766 /*BSS Index of the BSS*/
1767 wpt_uint8 ucBssIdx;
1768
1769 /*Encryption Type used with peer*/
1770 WDI_EncryptType wdiEncType;
1771
1772 /*Key Id*/
1773 wpt_uint8 ucKeyId;
1774
1775 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
1776 keys*/
1777 WDI_WepType wdiWEPType;
1778}WDI_RemoveBSSKeyReqInfoType;
1779
1780/*---------------------------------------------------------------------------
1781 WDI_RemoveBSSKeyReqParamsType
1782---------------------------------------------------------------------------*/
1783typedef struct
1784{
1785 /*Key Info */
1786 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
1787
1788 /*Request status callback offered by UMAC - it is called if the current
1789 req has returned PENDING as status; it delivers the status of sending
1790 the message over the BUS */
1791 WDI_ReqStatusCb wdiReqStatusCB;
1792
1793 /*The user data passed in by UMAC, it will be sent back when the above
1794 function pointer will be called */
1795 void* pUserData;
1796}WDI_RemoveBSSKeyReqParamsType;
1797
1798/*---------------------------------------------------------------------------
1799 WDI_SetSTAKeyReqInfoType
1800---------------------------------------------------------------------------*/
1801typedef struct
1802{
1803 /*STA Index*/
1804 wpt_uint8 ucSTAIdx;
1805
1806 /*Encryption Type used with peer*/
1807 WDI_EncryptType wdiEncType;
1808
1809 /*STATIC/DYNAMIC*/
1810 WDI_WepType wdiWEPType;
1811
1812 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
1813 wpt_uint8 ucDefWEPIdx;
1814
1815 /*Number of keys*/
1816 wpt_uint8 ucNumKeys;
1817
1818 /*Array of keys.*/
1819 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
1820
1821 /*Control for Replay Count, 1= Single TID based replay count on Tx
1822 0 = Per TID based replay count on TX */
1823 wpt_uint8 ucSingleTidRc;
1824}WDI_SetSTAKeyReqInfoType;
1825
1826/*---------------------------------------------------------------------------
1827 WDI_ConfigBSSReqInfoType
1828---------------------------------------------------------------------------*/
1829typedef struct
1830{
1831 /*Peer BSSID*/
1832 wpt_macAddr macBSSID;
1833
1834 /*Self MAC Address*/
1835 wpt_macAddr macSelfAddr;
1836
1837 /*BSS Type*/
1838 WDI_BssType wdiBSSType;
1839
1840 /*Operational Mode: AP =0, STA = 1*/
1841 wpt_uint8 ucOperMode;
1842
1843 /*Network Type*/
1844 WDI_NwType wdiNWType;
1845
1846 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
1847 wpt_uint8 ucShortSlotTimeSupported;
1848
1849 /*Co-exist with 11a STA*/
1850 wpt_uint8 ucllaCoexist;
1851
1852 /*Co-exist with 11b STA*/
1853 wpt_uint8 ucllbCoexist;
1854
1855 /*Co-exist with 11g STA*/
1856 wpt_uint8 ucllgCoexist;
1857
1858 /*Coexistence with 11n STA*/
1859 wpt_uint8 ucHT20Coexist;
1860
1861 /*Non GF coexist flag*/
1862 wpt_uint8 ucllnNonGFCoexist;
1863
1864 /*TXOP protection support*/
1865 wpt_uint8 ucTXOPProtectionFullSupport;
1866
1867 /*RIFS mode*/
1868 wpt_uint8 ucRIFSMode;
1869
1870 /*Beacon Interval in TU*/
1871 wpt_uint16 usBeaconInterval;
1872
1873 /*DTIM period*/
1874 wpt_uint8 ucDTIMPeriod;
1875
1876 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1877 wpt_uint8 ucTXChannelWidthSet;
1878
1879 /*Operating channel*/
1880 wpt_uint8 ucCurrentOperChannel;
1881
1882 /*Extension channel for channel bonding*/
1883 wpt_uint8 ucCurrentExtChannel;
1884
1885 /*Context of the station being added in HW.*/
1886 WDI_ConfigStaReqInfoType wdiSTAContext;
1887
1888 /*SSID of the BSS*/
1889 WDI_MacSSid wdiSSID;
1890
1891 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
1892 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
1893 WDI_ConfigAction wdiAction;
1894
1895 /*Basic Rate Set*/
1896 WDI_RateSet wdiRateSet;
1897
1898 /*Enable/Disable HT capabilities of the BSS*/
1899 wpt_uint8 ucHTCapable;
1900
1901 /* Enable/Disable OBSS protection */
1902 wpt_uint8 ucObssProtEnabled;
1903
1904 /*RMF enabled/disabled*/
1905 wpt_uint8 ucRMFEnabled;
1906
1907 /*Determines the current HT Operating Mode operating mode of the
1908 802.11n STA*/
1909 WDI_HTOperatingMode wdiHTOperMod;
1910
1911 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
1912 wpt_uint8 ucDualCTSProtection;
1913
1914 /* Probe Response Max retries */
1915 wpt_uint8 ucMaxProbeRespRetryLimit;
1916
1917 /* To Enable Hidden ssid */
1918 wpt_uint8 bHiddenSSIDEn;
1919
1920 /* To Enable Disable FW Proxy Probe Resp */
1921 wpt_uint8 bProxyProbeRespEn;
1922
1923 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
1924 EDCA params or might not desire to apply EDCA params during config BSS.
1925 0 implies Not Valid ; Non-Zero implies valid*/
1926 wpt_uint8 ucEDCAParamsValid;
1927
1928 /*EDCA Parameters for BK*/
1929 WDI_EdcaParamRecord wdiBKEDCAParams;
1930
1931 /*EDCA Parameters for BE*/
1932 WDI_EdcaParamRecord wdiBEEDCAParams;
1933
1934 /*EDCA Parameters for VI*/
1935 WDI_EdcaParamRecord wdiVIEDCAParams;
1936
1937 /*EDCA Parameters for VO*/
1938 WDI_EdcaParamRecord wdiVOEDCAParams;
1939
1940#ifdef WLAN_FEATURE_VOWIFI
1941 /*max power to be used after applying the power constraint, if any */
1942 wpt_int8 cMaxTxPower;
1943#endif
1944
1945 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
1946 wpt_uint8 ucPersona;
1947
1948 /* Spectrum Mangement Indicator */
1949 wpt_uint8 bSpectrumMgtEn;
1950
1951#ifdef WLAN_FEATURE_VOWIFI_11R
1952 wpt_uint8 bExtSetStaKeyParamValid;
1953 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
1954#endif
1955
Jeff Johnsone7245742012-09-05 17:12:55 -07001956#ifdef WLAN_FEATURE_11AC
1957 wpt_uint8 ucVhtCapableSta;
1958 wpt_uint8 ucVhtTxChannelWidthSet;
1959#endif
1960
Jeff Johnson295189b2012-06-20 16:38:30 -07001961}WDI_ConfigBSSReqInfoType;
1962
1963/*---------------------------------------------------------------------------
1964 WDI_PostAssocReqParamsType
1965---------------------------------------------------------------------------*/
1966typedef struct
1967{
1968 /*Config STA arguments.*/
1969 WDI_ConfigStaReqInfoType wdiSTAParams;
1970
1971 /*Config BSS Arguments*/
1972 WDI_ConfigBSSReqInfoType wdiBSSParams;
1973
1974 /*Request status callback offered by UMAC - it is called if the current
1975 req has returned PENDING as status; it delivers the status of sending
1976 the message over the BUS */
1977 WDI_ReqStatusCb wdiReqStatusCB;
1978
1979 /*The user data passed in by UMAC, it will be sent back when the above
1980 function pointer will be called */
1981 void* pUserData;
1982}WDI_PostAssocReqParamsType;
1983
1984/*---------------------------------------------------------------------------
1985 WDI_ConfigBSSReqParamsType
1986---------------------------------------------------------------------------*/
1987typedef struct
1988{
1989 /*Info for the Join request that will be sent down to the device*/
1990 WDI_ConfigBSSReqInfoType wdiReqInfo;
1991
1992 /*Request status callback offered by UMAC - it is called if the current
1993 req has returned PENDING as status; it delivers the status of sending
1994 the message over the BUS */
1995 WDI_ReqStatusCb wdiReqStatusCB;
1996
1997 /*The user data passed in by UMAC, it will be sent back when the above
1998 function pointer will be called */
1999 void* pUserData;
2000}WDI_ConfigBSSReqParamsType;
2001
2002/*---------------------------------------------------------------------------
2003 WDI_SetSTAKeyReqParamsType
2004---------------------------------------------------------------------------*/
2005typedef struct
2006{
2007 /*Key Info*/
2008 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2009
2010 /*Request status callback offered by UMAC - it is called if the current
2011 req has returned PENDING as status; it delivers the status of sending
2012 the message over the BUS */
2013 WDI_ReqStatusCb wdiReqStatusCB;
2014
2015 /*The user data passed in by UMAC, it will be sent back when the above
2016 function pointer will be called */
2017 void* pUserData;
2018}WDI_SetSTAKeyReqParamsType;
2019
2020/*---------------------------------------------------------------------------
2021 WDI_RemoveSTAKeyReqInfoType
2022---------------------------------------------------------------------------*/
2023typedef struct
2024{
2025 /*STA Index*/
2026 wpt_uint8 ucSTAIdx;
2027
2028 /*Encryption Type used with peer*/
2029 WDI_EncryptType wdiEncType;
2030
2031 /*Key Id*/
2032 wpt_uint8 ucKeyId;
2033
2034 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2035 the same key is used for both broadcast and unicast.*/
2036 wpt_uint8 ucUnicast;
2037}WDI_RemoveSTAKeyReqInfoType;
2038
2039/*---------------------------------------------------------------------------
2040 WDI_RemoveSTAKeyReqParamsType
2041---------------------------------------------------------------------------*/
2042typedef struct
2043{
2044 /*Key Info */
2045 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2046
2047 /*Request status callback offered by UMAC - it is called if the current
2048 req has returned PENDING as status; it delivers the status of sending
2049 the message over the BUS */
2050 WDI_ReqStatusCb wdiReqStatusCB;
2051
2052 /*The user data passed in by UMAC, it will be sent back when the above
2053 function pointer will be called */
2054 void* pUserData;
2055}WDI_RemoveSTAKeyReqParamsType;
2056
2057/*---------------------------------------------------------------------------
2058 QOS Parameters
2059---------------------------------------------------------------------------*/
2060
2061/*---------------------------------------------------------------------------
2062 WDI_TSInfoTfc
2063---------------------------------------------------------------------------*/
2064typedef struct
2065{
2066 wpt_uint16 ackPolicy:2;
2067 wpt_uint16 userPrio:3;
2068 wpt_uint16 psb:1;
2069 wpt_uint16 aggregation : 1;
2070 wpt_uint16 accessPolicy : 2;
2071 wpt_uint16 direction : 2;
2072 wpt_uint16 tsid : 4;
2073 wpt_uint16 trafficType : 1;
2074} WDI_TSInfoTfc;
2075
2076/*---------------------------------------------------------------------------
2077 WDI_TSInfoSch
2078---------------------------------------------------------------------------*/
2079typedef struct
2080{
2081 wpt_uint8 rsvd : 7;
2082 wpt_uint8 schedule : 1;
2083} WDI_TSInfoSch;
2084
2085/*---------------------------------------------------------------------------
2086 WDI_TSInfoType
2087---------------------------------------------------------------------------*/
2088typedef struct
2089{
2090 WDI_TSInfoTfc wdiTraffic;
2091 WDI_TSInfoSch wdiSchedule;
2092} WDI_TSInfoType;
2093
2094/*---------------------------------------------------------------------------
2095 WDI_TspecIEType
2096---------------------------------------------------------------------------*/
2097typedef struct
2098{
2099 wpt_uint8 ucType;
2100 wpt_uint8 ucLength;
2101 WDI_TSInfoType wdiTSinfo;
2102 wpt_uint16 usNomMsduSz;
2103 wpt_uint16 usMaxMsduSz;
2104 wpt_uint32 uMinSvcInterval;
2105 wpt_uint32 uMaxSvcInterval;
2106 wpt_uint32 uInactInterval;
2107 wpt_uint32 uSuspendInterval;
2108 wpt_uint32 uSvcStartTime;
2109 wpt_uint32 uMinDataRate;
2110 wpt_uint32 uMeanDataRate;
2111 wpt_uint32 uPeakDataRate;
2112 wpt_uint32 uMaxBurstSz;
2113 wpt_uint32 uDelayBound;
2114 wpt_uint32 uMinPhyRate;
2115 wpt_uint16 usSurplusBw;
2116 wpt_uint16 usMediumTime;
2117}WDI_TspecIEType;
2118
2119/*---------------------------------------------------------------------------
2120 WDI_AddTSReqInfoType
2121---------------------------------------------------------------------------*/
2122typedef struct
2123{
2124 /*STA Index*/
2125 wpt_uint8 ucSTAIdx;
2126
2127 /*Identifier for TSpec*/
2128 wpt_uint16 ucTspecIdx;
2129
2130 /*Tspec IE negotiated OTA*/
2131 WDI_TspecIEType wdiTspecIE;
2132
2133 /*UAPSD delivery and trigger enabled flags */
2134 wpt_uint8 ucUapsdFlags;
2135
2136 /*SI for each AC*/
2137 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2138
2139 /*Suspend Interval for each AC*/
2140 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2141
2142 /*DI for each AC*/
2143 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2144
2145}WDI_AddTSReqInfoType;
2146
2147
2148/*---------------------------------------------------------------------------
2149 WDI_AddTSReqParamsType
2150---------------------------------------------------------------------------*/
2151typedef struct
2152{
2153 /*TSpec Info */
2154 WDI_AddTSReqInfoType wdiTsInfo;
2155
2156 /*Request status callback offered by UMAC - it is called if the current
2157 req has returned PENDING as status; it delivers the status of sending
2158 the message over the BUS */
2159 WDI_ReqStatusCb wdiReqStatusCB;
2160
2161 /*The user data passed in by UMAC, it will be sent back when the above
2162 function pointer will be called */
2163 void* pUserData;
2164}WDI_AddTSReqParamsType;
2165
2166/*---------------------------------------------------------------------------
2167 WDI_DelTSReqInfoType
2168---------------------------------------------------------------------------*/
2169typedef struct
2170{
2171 /*STA Index*/
2172 wpt_uint8 ucSTAIdx;
2173
2174 /*Identifier for TSpec*/
2175 wpt_uint16 ucTspecIdx;
2176
2177 /*BSSID of the BSS*/
2178 wpt_macAddr macBSSID;
2179}WDI_DelTSReqInfoType;
2180
2181/*---------------------------------------------------------------------------
2182 WDI_DelTSReqParamsType
2183---------------------------------------------------------------------------*/
2184typedef struct
2185{
2186 /*Del TSpec Info*/
2187 WDI_DelTSReqInfoType wdiDelTSInfo;
2188
2189 /*Request status callback offered by UMAC - it is called if the current
2190 req has returned PENDING as status; it delivers the status of sending
2191 the message over the BUS */
2192 WDI_ReqStatusCb wdiReqStatusCB;
2193
2194 /*The user data passed in by UMAC, it will be sent back when the above
2195 function pointer will be called */
2196 void* pUserData;
2197}WDI_DelTSReqParamsType;
2198
2199/*---------------------------------------------------------------------------
2200 WDI_UpdateEDCAInfoType
2201---------------------------------------------------------------------------*/
2202typedef struct
2203{
krunal soni0b366c02013-07-17 19:55:57 -07002204 /*BSS Index of the BSS*/
2205 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002206
Jeff Johnson295189b2012-06-20 16:38:30 -07002207 /*EDCA params for BE*/
2208 WDI_EdcaParamRecord wdiEdcaBEInfo;
2209
2210 /*EDCA params for BK*/
2211 WDI_EdcaParamRecord wdiEdcaBKInfo;
2212
2213 /*EDCA params for VI*/
2214 WDI_EdcaParamRecord wdiEdcaVIInfo;
2215
2216 /*EDCA params for VO*/
2217 WDI_EdcaParamRecord wdiEdcaVOInfo;
2218
2219}WDI_UpdateEDCAInfoType;
2220
2221/*---------------------------------------------------------------------------
2222 WDI_UpdateEDCAParamsType
2223---------------------------------------------------------------------------*/
2224typedef struct
2225{
2226 /*EDCA Info */
2227 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2228
2229 /*Request status callback offered by UMAC - it is called if the current
2230 req has returned PENDING as status; it delivers the status of sending
2231 the message over the BUS */
2232 WDI_ReqStatusCb wdiReqStatusCB;
2233
2234 /*The user data passed in by UMAC, it will be sent back when the above
2235 function pointer will be called */
2236 void* pUserData;
2237}WDI_UpdateEDCAParamsType;
2238
2239/*---------------------------------------------------------------------------
2240 WDI_AddBASessionReqinfoType
2241---------------------------------------------------------------------------*/
2242typedef struct
2243{
2244 /*Indicates the station for which BA is added..*/
2245 wpt_uint8 ucSTAIdx;
2246
2247 /*The peer mac address*/
2248 wpt_macAddr macPeerAddr;
2249
2250 /*TID for which BA was negotiated*/
2251 wpt_uint8 ucBaTID;
2252
2253 /*Delayed or imediate */
2254 wpt_uint8 ucBaPolicy;
2255
2256 /*The number of buffers for this TID (baTID)*/
2257 wpt_uint16 usBaBufferSize;
2258
2259 /*BA timeout in TU's*/
2260 wpt_uint16 usBaTimeout;
2261
2262 /*b0..b3 - Fragment Number - Always set to 0
2263 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2264 wpt_uint16 usBaSSN;
2265
2266 /*Originator/Recipient*/
2267 wpt_uint8 ucBaDirection;
2268
2269}WDI_AddBASessionReqinfoType;
2270
2271
2272/*---------------------------------------------------------------------------
2273 WDI_AddBASessionReqParamsType
2274---------------------------------------------------------------------------*/
2275typedef struct
2276{
2277 /*BA Session Info Type*/
2278 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2279
2280 /*Request status callback offered by UMAC - it is called if the current
2281 req has returned PENDING as status; it delivers the status of sending
2282 the message over the BUS */
2283 WDI_ReqStatusCb wdiReqStatusCB;
2284
2285 /*The user data passed in by UMAC, it will be sent back when the above
2286 function pointer will be called */
2287 void* pUserData;
2288}WDI_AddBASessionReqParamsType;
2289
2290/*---------------------------------------------------------------------------
2291 WDI_AddBASessionRspParamsType
2292---------------------------------------------------------------------------*/
2293typedef struct
2294{
2295 /*Status of the response*/
2296 WDI_Status wdiStatus;
2297
2298 /* Dialog token */
2299 wpt_uint8 ucBaDialogToken;
2300
2301 /* TID for which the BA session has been setup */
2302 wpt_uint8 ucBaTID;
2303
2304 /* BA Buffer Size allocated for the current BA session */
2305 wpt_uint8 ucBaBufferSize;
2306
2307 /* BA session ID */
2308 wpt_uint16 usBaSessionID;
2309
2310 /* Reordering Window buffer */
2311 wpt_uint8 ucWinSize;
2312
2313 /*Station Index to id the sta */
2314 wpt_uint8 ucSTAIdx;
2315
2316 /* Starting Sequence Number */
2317 wpt_uint16 usBaSSN;
2318
2319}WDI_AddBASessionRspParamsType;
2320
2321/*---------------------------------------------------------------------------
2322 WDI_AddBAReqinfoType
2323---------------------------------------------------------------------------*/
2324typedef struct
2325{
2326 /*Indicates the station for which BA is added..*/
2327 wpt_uint8 ucSTAIdx;
2328
2329 /* Session Id */
2330 wpt_uint8 ucBaSessionID;
2331
2332 /* Reorder Window Size */
2333 wpt_uint8 ucWinSize;
2334
2335#ifdef FEATURE_ON_CHIP_REORDERING
2336 wpt_boolean bIsReorderingDoneOnChip;
2337#endif
2338
2339}WDI_AddBAReqinfoType;
2340
2341
2342/*---------------------------------------------------------------------------
2343 WDI_AddBAReqParamsType
2344---------------------------------------------------------------------------*/
2345typedef struct
2346{
2347 /*BA Info Type*/
2348 WDI_AddBAReqinfoType wdiBAInfoType;
2349
2350 /*Request status callback offered by UMAC - it is called if the current
2351 req has returned PENDING as status; it delivers the status of sending
2352 the message over the BUS */
2353 WDI_ReqStatusCb wdiReqStatusCB;
2354
2355 /*The user data passed in by UMAC, it will be sent back when the above
2356 function pointer will be called */
2357 void* pUserData;
2358}WDI_AddBAReqParamsType;
2359
2360
2361/*---------------------------------------------------------------------------
2362 WDI_AddBARspinfoType
2363---------------------------------------------------------------------------*/
2364typedef struct
2365{
2366 /*Status of the response*/
2367 WDI_Status wdiStatus;
2368
2369 /* Dialog token */
2370 wpt_uint8 ucBaDialogToken;
2371
2372}WDI_AddBARspinfoType;
2373
2374/*---------------------------------------------------------------------------
2375 WDI_TriggerBAReqCandidateType
2376---------------------------------------------------------------------------*/
2377typedef struct
2378{
2379 /* STA index */
2380 wpt_uint8 ucSTAIdx;
2381
2382 /* TID bit map for the STA's*/
2383 wpt_uint8 ucTidBitmap;
2384
2385}WDI_TriggerBAReqCandidateType;
2386
2387
2388/*---------------------------------------------------------------------------
2389 WDI_TriggerBAReqinfoType
2390---------------------------------------------------------------------------*/
2391typedef struct
2392{
2393 /*Indicates the station for which BA is added..*/
2394 wpt_uint8 ucSTAIdx;
2395
2396 /* Session Id */
2397 wpt_uint8 ucBASessionID;
2398
2399 /* Trigger BA Request candidate count */
2400 wpt_uint16 usBACandidateCnt;
2401
2402 /* WDI_TriggerBAReqCandidateType followed by this*/
2403
2404}WDI_TriggerBAReqinfoType;
2405
2406
2407/*---------------------------------------------------------------------------
2408 WDI_TriggerBAReqParamsType
2409---------------------------------------------------------------------------*/
2410typedef struct
2411{
2412 /*BA Trigger Info Type*/
2413 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2414
2415 /*Request status callback offered by UMAC - it is called if the current
2416 req has returned PENDING as status; it delivers the status of sending
2417 the message over the BUS */
2418 WDI_ReqStatusCb wdiReqStatusCB;
2419
2420 /*The user data passed in by UMAC, it will be sent back when the above
2421 function pointer will be called */
2422 void* pUserData;
2423}WDI_TriggerBAReqParamsType;
2424
2425/*---------------------------------------------------------------------------
2426 WDI_AddBAInfoType
2427---------------------------------------------------------------------------*/
2428typedef struct
2429{
2430 wpt_uint16 fBaEnable : 1;
2431 wpt_uint16 startingSeqNum: 12;
2432 wpt_uint16 reserved : 3;
2433}WDI_AddBAInfoType;
2434
2435/*---------------------------------------------------------------------------
2436 WDI_TriggerBARspCandidateType
2437---------------------------------------------------------------------------*/
2438#define STA_MAX_TC 8
2439
2440typedef struct
2441{
2442 /* STA index */
2443 wpt_macAddr macSTA;
2444
2445 /* BA Info */
2446 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2447}WDI_TriggerBARspCandidateType;
2448
2449/*---------------------------------------------------------------------------
2450 WDI_TriggerBARspParamsType
2451---------------------------------------------------------------------------*/
2452typedef struct
2453{
2454 /*Status of the response*/
2455 WDI_Status wdiStatus;
2456
2457 /*BSSID of the BSS*/
2458 wpt_macAddr macBSSID;
2459
2460 /* Trigger BA response candidate count */
2461 wpt_uint16 usBaCandidateCnt;
2462
2463 /* WDI_TriggerBARspCandidateType followed by this*/
2464
2465}WDI_TriggerBARspParamsType;
2466
2467/*---------------------------------------------------------------------------
2468 WDI_DelBAReqinfoType
2469---------------------------------------------------------------------------*/
2470typedef struct
2471{
2472 /*Indicates the station for which BA is added..*/
2473 wpt_uint8 ucSTAIdx;
2474
2475 /*TID for which BA was negotiated*/
2476 wpt_uint8 ucBaTID;
2477
2478 /*Originator/Recipient*/
2479 wpt_uint8 ucBaDirection;
2480
2481}WDI_DelBAReqinfoType;
2482
2483/*---------------------------------------------------------------------------
2484 WDI_DelBAReqParamsType
2485---------------------------------------------------------------------------*/
2486typedef struct
2487{
2488 /*BA Info */
2489 WDI_DelBAReqinfoType wdiBAInfo;
2490
2491 /*Request status callback offered by UMAC - it is called if the current
2492 req has returned PENDING as status; it delivers the status of sending
2493 the message over the BUS */
2494 WDI_ReqStatusCb wdiReqStatusCB;
2495
2496 /*The user data passed in by UMAC, it will be sent back when the above
2497 function pointer will be called */
2498 void* pUserData;
2499}WDI_DelBAReqParamsType;
2500
2501
2502/*---------------------------------------------------------------------------
2503 WDI_SwitchCHRspParamsType
2504---------------------------------------------------------------------------*/
2505typedef struct
2506{
2507 /*Status of the response*/
2508 WDI_Status wdiStatus;
2509
2510 /*Indicates the channel that WLAN is on*/
2511 wpt_uint8 ucChannel;
2512
2513#ifdef WLAN_FEATURE_VOWIFI
2514 /*HAL fills in the tx power used for mgmt frames in this field.*/
2515 wpt_int8 ucTxMgmtPower;
2516#endif
2517
2518}WDI_SwitchCHRspParamsType;
2519
2520/*---------------------------------------------------------------------------
2521 WDI_ConfigSTAReqParamsType
2522---------------------------------------------------------------------------*/
2523typedef struct
2524{
2525 /*Info for the Join request that will be sent down to the device*/
2526 WDI_ConfigStaReqInfoType wdiReqInfo;
2527
2528 /*Request status callback offered by UMAC - it is called if the current
2529 req has returned PENDING as status; it delivers the status of sending
2530 the message over the BUS */
2531 WDI_ReqStatusCb wdiReqStatusCB;
2532
2533 /*The user data passed in by UMAC, it will be sent back when the above
2534 function pointer will be called */
2535 void* pUserData;
2536}WDI_ConfigSTAReqParamsType;
2537
2538
2539/*---------------------------------------------------------------------------
2540 WDI_UpdateBeaconParamsInfoType
2541---------------------------------------------------------------------------*/
2542
2543typedef struct
2544{
2545 /*BSS Index of the BSS*/
2546 wpt_uint8 ucBssIdx;
2547
2548 /*shortPreamble mode. HAL should update all the STA rates when it
2549 receives this message*/
2550 wpt_uint8 ucfShortPreamble;
2551 /* short Slot time.*/
2552 wpt_uint8 ucfShortSlotTime;
2553 /* Beacon Interval */
2554 wpt_uint16 usBeaconInterval;
2555 /*Protection related */
2556 wpt_uint8 ucllaCoexist;
2557 wpt_uint8 ucllbCoexist;
2558 wpt_uint8 ucllgCoexist;
2559 wpt_uint8 ucHt20MhzCoexist;
2560 wpt_uint8 ucllnNonGFCoexist;
2561 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2562 wpt_uint8 ucfRIFSMode;
2563
2564 wpt_uint16 usChangeBitmap;
2565}WDI_UpdateBeaconParamsInfoType;
2566
Mohit Khanna4a70d262012-09-11 16:30:12 -07002567#ifdef WLAN_FEATURE_11AC
2568typedef struct
2569{
2570 wpt_uint16 opMode;
2571 wpt_uint16 staId;
2572}WDI_UpdateVHTOpMode;
2573#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002574
2575/*---------------------------------------------------------------------------
2576 WDI_UpdateBeaconParamsType
2577---------------------------------------------------------------------------*/
2578typedef struct
2579{
2580 /*Update Beacon Params Info*/
2581 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2582
2583 /*Request status callback offered by UMAC - it is called if the current
2584 req has returned PENDING as status; it delivers the status of sending
2585 the message over the BUS */
2586 WDI_ReqStatusCb wdiReqStatusCB;
2587
2588 /*The user data passed in by UMAC, it will be sent back when the above
2589 function pointer will be called */
2590 void* pUserData;
2591}WDI_UpdateBeaconParamsType;
2592
2593/*---------------------------------------------------------------------------
2594 WDI_SendBeaconParamsInfoType
2595---------------------------------------------------------------------------*/
2596
2597typedef struct {
2598
2599 /*BSSID of the BSS*/
2600 wpt_macAddr macBSSID;
2601
2602 /* Beacon data */
2603 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2604
2605 /* length of the template */
2606 wpt_uint32 beaconLength;
2607
Jeff Johnson295189b2012-06-20 16:38:30 -07002608 /* TIM IE offset from the beginning of the template.*/
2609 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002610
Jeff Johnson295189b2012-06-20 16:38:30 -07002611 /* P2P IE offset from the beginning of the template */
2612 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002613} WDI_SendBeaconParamsInfoType;
2614
2615/*---------------------------------------------------------------------------
2616 WDI_SendBeaconParamsType
2617---------------------------------------------------------------------------*/
2618typedef struct
2619{
2620 /*Send Beacon Params Info*/
2621 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2622
2623 /*Request status callback offered by UMAC - it is called if the current
2624 req has returned PENDING as status; it delivers the status of sending
2625 the message over the BUS */
2626 WDI_ReqStatusCb wdiReqStatusCB;
2627
2628 /*The user data passed in by UMAC, it will be sent back when the above
2629 function pointer will be called */
2630 void* pUserData;
2631}WDI_SendBeaconParamsType;
2632
2633/*---------------------------------------------------------------------------
2634 WDI_LinkStateType
2635---------------------------------------------------------------------------*/
2636typedef enum
2637{
2638 WDI_LINK_IDLE_STATE = 0,
2639 WDI_LINK_PREASSOC_STATE = 1,
2640 WDI_LINK_POSTASSOC_STATE = 2,
2641 WDI_LINK_AP_STATE = 3,
2642 WDI_LINK_IBSS_STATE = 4,
2643
2644 // BT-AMP Case
2645 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2646 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2647 WDI_LINK_BTAMP_AP_STATE = 7,
2648 WDI_LINK_BTAMP_STA_STATE = 8,
2649
2650 // Reserved for HAL internal use
2651 WDI_LINK_LEARN_STATE = 9,
2652 WDI_LINK_SCAN_STATE = 10,
2653 WDI_LINK_FINISH_SCAN_STATE = 11,
2654 WDI_LINK_INIT_CAL_STATE = 12,
2655 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002656 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302657 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002658 WDI_LINK_MAX = 0x7FFFFFFF
2659} WDI_LinkStateType;
2660
2661/*---------------------------------------------------------------------------
2662 WDI_SetLinkReqInfoType
2663---------------------------------------------------------------------------*/
2664typedef struct
2665{
2666 /*BSSID of the BSS*/
2667 wpt_macAddr macBSSID;
2668
2669 /*Link state*/
2670 WDI_LinkStateType wdiLinkState;
2671
2672 /*BSSID of the BSS*/
2673 wpt_macAddr macSelfStaMacAddr;
2674}WDI_SetLinkReqInfoType;
2675
2676/*---------------------------------------------------------------------------
2677 WDI_SetLinkReqParamsType
2678---------------------------------------------------------------------------*/
2679typedef struct
2680{
2681 /*Link Info*/
2682 WDI_SetLinkReqInfoType wdiLinkInfo;
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_SetLinkReqParamsType;
2693
2694/*---------------------------------------------------------------------------
2695 WDI_GetStatsParamsInfoType
2696---------------------------------------------------------------------------*/
2697typedef struct
2698{
2699 /*Indicates the station for which Get Stats are requested..*/
2700 wpt_uint8 ucSTAIdx;
2701
2702 /* categories of stats requested */
2703 wpt_uint32 uStatsMask;
2704}WDI_GetStatsParamsInfoType;
2705
2706/*---------------------------------------------------------------------------
2707 WDI_GetStatsReqParamsType
2708---------------------------------------------------------------------------*/
2709typedef struct
2710{
2711 /*Get Stats Params Info*/
2712 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2713
2714 /*Request status callback offered by UMAC - it is called if the current
2715 req has returned PENDING as status; it delivers the status of sending
2716 the message over the BUS */
2717 WDI_ReqStatusCb wdiReqStatusCB;
2718
2719 /*The user data passed in by UMAC, it will be sent back when the above
2720 function pointer will be called */
2721 void* pUserData;
2722}WDI_GetStatsReqParamsType;
2723
2724/*---------------------------------------------------------------------------
2725 WDI_GetStatsRspParamsType
2726---------------------------------------------------------------------------*/
2727typedef struct
2728{
2729 /*message type is same as the request type*/
2730 wpt_uint16 usMsgType;
2731
2732 /* length of the entire request, includes the pStatsBuf length too*/
2733 wpt_uint16 usMsgLen;
2734
2735 /*Result of the operation*/
2736 WDI_Status wdiStatus;
2737
2738 /*Indicates the station for which Get Stats are requested..*/
2739 wpt_uint8 ucSTAIdx;
2740
2741 /* categories of stats requested */
2742 wpt_uint32 uStatsMask;
2743
2744 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2745 * structure depending on statsMask.*/
2746}WDI_GetStatsRspParamsType;
2747
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002748#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2749/*---------------------------------------------------------------------------
2750 WDI_GetRoamRssiParamsInfoType
2751---------------------------------------------------------------------------*/
2752typedef struct
2753{
2754 /*Indicates the station for which Get Stats are requested..*/
2755 wpt_uint8 ucSTAIdx;
2756
2757 /* categories of stats requested */
2758 wpt_uint32 uStatsMask;
2759}WDI_GetRoamRssiParamsInfoType;
2760
2761/*---------------------------------------------------------------------------
2762 WDI_GetRoamRssiReqParamsType
2763---------------------------------------------------------------------------*/
2764typedef struct
2765{
2766 /*Get Roam Rssi Params Info*/
2767 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
2768
2769 /*Request status callback offered by UMAC - it is called if the current
2770 req has returned PENDING as status; it delivers the status of sending
2771 the message over the BUS */
2772 WDI_ReqStatusCb wdiReqStatusCB;
2773
2774 /*The user data passed in by UMAC, it will be sent back when the above
2775 function pointer will be called */
2776 void* pUserData;
2777}WDI_GetRoamRssiReqParamsType;
2778
2779/*---------------------------------------------------------------------------
2780 WDI_GetRoamRssiRspParamsType
2781---------------------------------------------------------------------------*/
2782typedef struct
2783{
2784 /*Result of the operation*/
2785 WDI_Status wdiStatus;
2786
2787 /*Indicates the station for which Get Stats are requested..*/
2788 wpt_uint8 ucSTAIdx;
2789
2790 /* roam rssi requested */
2791 wpt_int8 rssi;
2792
2793 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2794 * structure depending on statsMask.*/
2795}WDI_GetRoamRssiRspParamsType;
2796#endif
2797
Jeff Johnson295189b2012-06-20 16:38:30 -07002798#ifdef FEATURE_WLAN_CCX
2799/*---------------------------------------------------------------------------
2800 WDI_TSMStatsParamsInfoType
2801---------------------------------------------------------------------------*/
2802typedef struct
2803{
2804 /*Indicates the station for which Get Stats are requested..*/
2805 wpt_uint8 ucTid;
2806
2807 wpt_macAddr bssid;
2808}WDI_TSMStatsParamsInfoType;
2809
2810/*---------------------------------------------------------------------------
2811 WDI_TSMStatsReqParamsType
2812---------------------------------------------------------------------------*/
2813typedef struct
2814{
2815 /*Get TSM Stats Params Info*/
2816 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
2817
2818 WDI_ReqStatusCb wdiReqStatusCB;
2819
2820 /*The user data passed in by UMAC, it will be sent back when the above
2821 function pointer will be called */
2822 void* pUserData;
2823
2824}WDI_TSMStatsReqParamsType;
2825
2826
2827/*---------------------------------------------------------------------------
2828 WDI_TSMStatsRspParamsType
2829---------------------------------------------------------------------------*/
2830typedef struct
2831{
2832 /*Indicates the status of the operation */
2833 WDI_Status wdiStatus;
2834
2835 wpt_uint16 UplinkPktQueueDly;
2836 wpt_uint16 UplinkPktQueueDlyHist[4];
2837 wpt_uint32 UplinkPktTxDly;
2838 wpt_uint16 UplinkPktLoss;
2839 wpt_uint16 UplinkPktCount;
2840 wpt_uint8 RoamingCount;
2841 wpt_uint16 RoamingDly;
2842}WDI_TSMStatsRspParamsType;
2843
2844
2845#endif
2846/*---------------------------------------------------------------------------
2847 WDI_UpdateCfgReqParamsType
2848---------------------------------------------------------------------------*/
2849typedef struct
2850{
2851 /*This is a TLV formatted buffer containing all config values that can
2852 be set through the DAL Interface
2853
2854 The TLV is expected to be formatted like this:
2855
2856 0 7 15 31 ....
2857 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
2858
2859 Or from a C construct point of VU it would look like this:
2860
2861 typedef struct WPT_PACK_POST
2862 {
2863 #ifdef WPT_BIG_ENDIAN
2864 wpt_uint32 ucCfgId:8;
2865 wpt_uint32 ucCfgLen:8;
2866 wpt_uint32 usReserved:16;
2867 #else
2868 wpt_uint32 usReserved:16;
2869 wpt_uint32 ucCfgLen:8;
2870 wpt_uint32 ucCfgId:8;
2871 #endif
2872
2873 wpt_uint8 ucCfgBody[ucCfgLen];
2874 }WDI_ConfigType;
2875
2876 Multiple such tuplets are to be placed in the config buffer. One for
2877 each required configuration item:
2878
2879 | TLV 1 | TLV2 | ....
2880
2881 The buffer is expected to be a flat area of memory that can be manipulated
2882 with standard memory routines.
2883
2884 For more info please check paragraph 2.3.1 Config Structure from the
2885 HAL LLD.
2886
2887 For a list of accepted configuration list and IDs please look up
2888 wlan_qct_dal_cfg.h
2889 */
2890 void* pConfigBuffer;
2891
2892 /*Length of the config buffer above*/
2893 wpt_uint32 uConfigBufferLen;
2894
2895 /*Request status callback offered by UMAC - it is called if the current
2896 req has returned PENDING as status; it delivers the status of sending
2897 the message over the BUS */
2898 WDI_ReqStatusCb wdiReqStatusCB;
2899
2900 /*The user data passed in by UMAC, it will be sent back when the above
2901 function pointer will be called */
2902 void* pUserData;
2903}WDI_UpdateCfgReqParamsType;
2904
2905/*---------------------------------------------------------------------------
2906 WDI_UpdateProbeRspTemplateInfoType
2907---------------------------------------------------------------------------*/
2908//Default Beacon template size
2909#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
2910
2911#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
2912
2913typedef struct
2914{
2915 /*BSSID for which the Probe Template is to be used*/
2916 wpt_macAddr macBSSID;
2917
2918 /*Probe response template*/
2919 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
2920
2921 /*Template Len*/
2922 wpt_uint32 uProbeRespTemplateLen;
2923
2924 /*Bitmap for the IEs that are to be handled at SLM level*/
2925 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
2926
2927}WDI_UpdateProbeRspTemplateInfoType;
2928
2929/*---------------------------------------------------------------------------
2930 WDI_UpdateProbeRspParamsType
2931---------------------------------------------------------------------------*/
2932typedef struct
2933{
2934 /*Link Info*/
2935 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
2936
2937 /*Request status callback offered by UMAC - it is called if the current
2938 req has returned PENDING as status; it delivers the status of sending
2939 the message over the BUS */
2940 WDI_ReqStatusCb wdiReqStatusCB;
2941
2942 /*The user data passed in by UMAC, it will be sent back when the above
2943 function pointer will be called */
2944 void* pUserData;
2945}WDI_UpdateProbeRspTemplateParamsType;
2946
2947/*---------------------------------------------------------------------------
2948 WDI_NvDownloadReqBlobInfo
2949---------------------------------------------------------------------------*/
2950
2951typedef struct
2952{
2953 /* Blob starting address*/
2954 void *pBlobAddress;
2955
2956 /* Blob size */
2957 wpt_uint32 uBlobSize;
2958
2959}WDI_NvDownloadReqBlobInfo;
2960
2961/*---------------------------------------------------------------------------
2962 WDI_NvDownloadReqParamsType
2963---------------------------------------------------------------------------*/
2964typedef struct
2965{
2966 /*NV Blob Info*/
2967 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
2968
2969 /*Request status callback offered by UMAC - it is called if the current
2970 req has returned PENDING as status; it delivers the status of sending
2971 the message over the BUS */
2972 WDI_ReqStatusCb wdiReqStatusCB;
2973
2974 /*The user data passed in by UMAC, it will be sent back when the above
2975 function pointer will be called */
2976 void* pUserData;
2977
2978}WDI_NvDownloadReqParamsType;
2979
2980/*---------------------------------------------------------------------------
2981 WDI_NvDownloadRspInfoType
2982---------------------------------------------------------------------------*/
2983typedef struct
2984{
2985 /*Status of the response*/
2986 WDI_Status wdiStatus;
2987
2988}WDI_NvDownloadRspInfoType;
2989
2990/*---------------------------------------------------------------------------
2991 WDI_SetMaxTxPowerInfoType
2992---------------------------------------------------------------------------*/
2993
2994typedef struct
2995{
2996 /*BSSID is needed to identify which session issued this request. As the request has
2997 power constraints, this should be applied only to that session*/
2998 wpt_macAddr macBSSId;
2999
3000
3001 wpt_macAddr macSelfStaMacAddr;
3002
3003 /* In request power == MaxTxpower to be used.*/
3004 wpt_int8 ucPower;
3005
3006}WDI_SetMaxTxPowerInfoType;
3007
3008/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003009 WDI_SetTxPowerInfoType
3010---------------------------------------------------------------------------*/
3011
3012typedef struct
3013{
3014 wpt_uint8 bssIdx;
3015 /* In request power == MaxTxpower to be used.*/
3016 wpt_uint8 ucPower;
3017
3018}WDI_SetTxPowerInfoType;
3019
3020/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003021 WDI_SetMaxTxPowerParamsType
3022---------------------------------------------------------------------------*/
3023typedef struct
3024{
3025 /*Link Info*/
3026 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3027
3028 /*Request status callback offered by UMAC - it is called if the current
3029 req has returned PENDING as status; it delivers the status of sending
3030 the message over the BUS */
3031 WDI_ReqStatusCb wdiReqStatusCB;
3032
3033 /*The user data passed in by UMAC, it will be sent back when the above
3034 function pointer will be called */
3035 void* pUserData;
3036}WDI_SetMaxTxPowerParamsType;
3037
schang86c22c42013-03-13 18:41:24 -07003038/*---------------------------------------------------------------------------
3039 WDI_SetTxPowerParamsType
3040---------------------------------------------------------------------------*/
3041typedef struct
3042{
3043 /*Link Info*/
3044 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3045
3046 /*Request status callback offered by UMAC - it is called if the current
3047 req has returned PENDING as status; it delivers the status of sending
3048 the message over the BUS */
3049 WDI_ReqStatusCb wdiReqStatusCB;
3050
3051 /*The user data passed in by UMAC, it will be sent back when the above
3052 function pointer will be called */
3053 void* pUserData;
3054}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003055
3056/*---------------------------------------------------------------------------
3057 WDI_SetMaxTxPowerRspMsg
3058---------------------------------------------------------------------------*/
3059
3060typedef struct
3061{
3062 /* In response, power==tx power used for management frames*/
3063 wpt_int8 ucPower;
3064
3065 /*Result of the operation*/
3066 WDI_Status wdiStatus;
3067
3068}WDI_SetMaxTxPowerRspMsg;
3069
schang86c22c42013-03-13 18:41:24 -07003070/*---------------------------------------------------------------------------
3071 WDI_SetTxPowerRspMsg
3072---------------------------------------------------------------------------*/
3073
3074typedef struct
3075{
3076 /* In response, power==tx power used for management frames*/
3077 wpt_int8 ucPower;
3078
3079 /*Result of the operation*/
3080 WDI_Status wdiStatus;
3081
3082}WDI_SetTxPowerRspMsg;
3083
Jeff Johnson295189b2012-06-20 16:38:30 -07003084typedef struct
3085{
3086 wpt_uint8 ucOpp_ps;
3087 wpt_uint32 uCtWindow;
3088 wpt_uint8 ucCount;
3089 wpt_uint32 uDuration;
3090 wpt_uint32 uInterval;
3091 wpt_uint32 uSingle_noa_duration;
3092 wpt_uint8 ucPsSelection;
3093}WDI_SetP2PGONOAReqInfoType;
3094
3095/*---------------------------------------------------------------------------
3096 WDI_SetP2PGONOAReqParamsType
3097---------------------------------------------------------------------------*/
3098typedef struct
3099{
3100 /*P2P GO NOA Req*/
3101 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3102
3103 /*Request status callback offered by UMAC - it is called if the current
3104 req has returned PENDING as status; it delivers the status of sending
3105 the message over the BUS */
3106 WDI_ReqStatusCb wdiReqStatusCB;
3107
3108 /*The user data passed in by UMAC, it will be sent back when the above
3109 function pointer will be called */
3110 void* pUserData;
3111}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003112
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303113typedef struct
3114{
3115 wpt_uint16 uStaIdx;
3116 wpt_uint8 uIsResponder;
3117 wpt_uint8 uUapsdQueues;
3118 wpt_uint8 uMaxSp;
3119 wpt_uint8 uIsBufSta;
3120}WDI_SetTDLSLinkEstablishReqInfoType;
3121/*---------------------------------------------------------------------------
3122 WDI_SetTDLSLinkEstablishReqParamsType
3123---------------------------------------------------------------------------*/
3124typedef struct
3125{
3126 /*TDLS Link Establish Req*/
3127 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3128
3129 /*Request status callback offered by UMAC - it is called if the current
3130 req has returned PENDING as status; it delivers the status of sending
3131 the message over the BUS */
3132 WDI_ReqStatusCb wdiReqStatusCB;
3133
3134 /*The user data passed in by UMAC, it will be sent back when the above
3135 function pointer will be called */
3136 void* pUserData;
3137}WDI_SetTDLSLinkEstablishReqParamsType;
3138
3139
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303140typedef struct
3141{
3142 /*Result of the operation*/
3143 WDI_Status wdiStatus;
3144
3145 /*STA Idx*/
3146 wpt_uint16 uStaIdx;
3147}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003148
3149/*---------------------------------------------------------------------------
3150 WDI_SetAddSTASelfParamsType
3151---------------------------------------------------------------------------*/
3152typedef struct
3153{
3154 /*Self Station MAC address*/
3155 wpt_macAddr selfMacAddr;
3156
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003157 /*Self STA device mode*/
3158 wpt_uint32 currDeviceMode;
3159
Jeff Johnson295189b2012-06-20 16:38:30 -07003160 /*Status of the operation*/
3161 wpt_uint32 uStatus;
3162}WDI_AddSTASelfInfoType;
3163
3164/*---------------------------------------------------------------------------
3165 WDI_SetAddSTASelfParamsType
3166---------------------------------------------------------------------------*/
3167typedef struct
3168{
3169 /* Add Sta Self Req */
3170 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3171
3172 /*Request status callback offered by UMAC - it is called if the current
3173 req has returned PENDING as status; it delivers the status of sending
3174 the message over the BUS */
3175 WDI_ReqStatusCb wdiReqStatusCB;
3176
3177 /*The user data passed in by UMAC, it will be sent back when the above
3178 function pointer will be called */
3179 void* pUserData;
3180}WDI_AddSTASelfReqParamsType;
3181
3182
3183/*---------------------------------------------------------------------------
3184 WDI_AddSTASelfRspParamsType
3185---------------------------------------------------------------------------*/
3186typedef struct
3187{
3188 /*Status of the response*/
3189 WDI_Status wdiStatus;
3190
3191 /*STA Idx allocated by HAL*/
3192 wpt_uint8 ucSTASelfIdx;
3193
3194 /* DPU Index (IGTK, PTK, GTK all same) */
3195 wpt_uint8 dpuIdx;
3196
3197 /* DPU Signature */
3198 wpt_uint8 dpuSignature;
3199
3200 /*Self STA Mac*/
3201 wpt_macAddr macSelfSta;
3202
3203}WDI_AddSTASelfRspParamsType;
3204
3205/*---------------------------------------------------------------------------
3206 WDI_DelSTASelfReqParamsType
3207 Del Sta Self info passed to WDI form WDA
3208---------------------------------------------------------------------------*/
3209typedef struct
3210{
3211 wpt_macAddr selfMacAddr;
3212
3213}WDI_DelSTASelfInfoType;
3214
3215/*---------------------------------------------------------------------------
3216 WDI_DelSTASelfReqParamsType
3217 Del Sta Self info passed to WDI form WDA
3218---------------------------------------------------------------------------*/
3219typedef struct
3220{
3221 /*Del Sta Self Info Type */
3222 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3223 /*Request status callback offered by UMAC - it is called if the current req
3224 has returned PENDING as status; it delivers the status of sending the message
3225 over the BUS */
3226 WDI_ReqStatusCb wdiReqStatusCB;
3227 /*The user data passed in by UMAC, it will be sent back when the above
3228 function pointer will be called */
3229 void* pUserData;
3230}WDI_DelSTASelfReqParamsType;
3231
3232/*---------------------------------------------------------------------------
3233 WDI_DelSTASelfRspParamsType
3234---------------------------------------------------------------------------*/
3235typedef struct
3236{
3237 /*Status of the response*/
3238 WDI_Status wdiStatus;
3239
3240 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3241// wpt_uint8 ucSTAIdx;
3242}WDI_DelSTASelfRspParamsType;
3243
3244/*---------------------------------------------------------------------------
3245 WDI_UapsdInfoType
3246 UAPSD parameters passed per AC to WDA from UMAC
3247---------------------------------------------------------------------------*/
3248typedef struct
3249{
3250 wpt_uint8 ucSTAIdx; // STA index
3251 wpt_uint8 ucAc; // Access Category
3252 wpt_uint8 ucUp; // User Priority
3253 wpt_uint32 uSrvInterval; // Service Interval
3254 wpt_uint32 uSusInterval; // Suspend Interval
3255 wpt_uint32 uDelayInterval; // Delay Interval
3256} WDI_UapsdInfoType;
3257
3258/*---------------------------------------------------------------------------
3259 WDI_SetUapsdAcParamsReqParamsType
3260 UAPSD parameters passed per AC to WDI from WDA
3261---------------------------------------------------------------------------*/
3262typedef struct
3263{
3264 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3265 WDI_UapsdInfoType wdiUapsdInfo;
3266 /*Request status callback offered by UMAC - it is called if the current req
3267 has returned PENDING as status; it delivers the status of sending the message
3268 over the BUS */
3269 WDI_ReqStatusCb wdiReqStatusCB;
3270 /*The user data passed in by UMAC, it will be sent back when the above
3271 function pointer will be called */
3272 void* pUserData;
3273}WDI_SetUapsdAcParamsReqParamsType;
3274
3275/*---------------------------------------------------------------------------
3276 WDI_EnterBmpsReqinfoType
3277 Enter BMPS parameters passed to WDA from UMAC
3278---------------------------------------------------------------------------*/
3279typedef struct
3280{
3281 //TBTT value derived from the last beacon
3282 wpt_uint8 ucBssIdx;
3283 wpt_uint64 uTbtt;
3284 wpt_uint8 ucDtimCount;
3285 //DTIM period given to HAL during association may not be valid,
3286 //if association is based on ProbeRsp instead of beacon.
3287 wpt_uint8 ucDtimPeriod;
3288 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3289 DXE when DXE wakes up from power save*/
3290 unsigned int dxePhyAddr;
3291
3292 // For CCX and 11R Roaming
3293 wpt_uint32 rssiFilterPeriod;
3294 wpt_uint32 numBeaconPerRssiAverage;
3295 wpt_uint8 bRssiFilterEnable;
3296}WDI_EnterBmpsReqinfoType;
3297
3298/*---------------------------------------------------------------------------
3299 WDI_EnterBmpsReqParamsType
3300 Enter BMPS parameters passed to WDI from WDA
3301---------------------------------------------------------------------------*/
3302typedef struct
3303{
3304 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3305 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3306 /*Request status callback offered by UMAC - it is called if the current req
3307 has returned PENDING as status; it delivers the status of sending the message
3308 over the BUS */
3309 WDI_ReqStatusCb wdiReqStatusCB;
3310 /*The user data passed in by UMAC, it will be sent back when the above
3311 function pointer will be called */
3312 void* pUserData;
3313}WDI_EnterBmpsReqParamsType;
3314
3315/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003316 WDI_EnterBmpsReqParamsType
3317 Enter BMPS parameters passed from WDI to WDA
3318---------------------------------------------------------------------------*/
3319typedef struct
3320{
3321 /*Status of the response*/
3322 WDI_Status wdiStatus;
3323
3324 /*BssIDX of the session*/
3325 wpt_uint8 bssIdx;
3326}WDI_EnterBmpsRspParamsType;
3327
3328/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003329 WDI_ExitBmpsReqinfoType
3330 Exit BMPS parameters passed to WDA from UMAC
3331---------------------------------------------------------------------------*/
3332typedef struct
3333{
3334 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003335 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003336}WDI_ExitBmpsReqinfoType;
3337
3338/*---------------------------------------------------------------------------
3339 WDI_ExitBmpsReqParamsType
3340 Exit BMPS parameters passed to WDI from WDA
3341---------------------------------------------------------------------------*/
3342typedef struct
3343{
3344 /*Exit BMPS Info Type, same as tExitBmpsParams */
3345 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3346 /*Request status callback offered by UMAC - it is called if the current req
3347 has returned PENDING as status; it delivers the status of sending the message
3348 over the BUS */
3349 WDI_ReqStatusCb wdiReqStatusCB;
3350 /*The user data passed in by UMAC, it will be sent back when the above
3351 function pointer will be called */
3352 void* pUserData;
3353}WDI_ExitBmpsReqParamsType;
3354
3355/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003356 WDI_ExitBmpsReqParamsType
3357 Exit BMPS parameters passed from WDI to WDA
3358---------------------------------------------------------------------------*/
3359typedef struct
3360{
3361 /*Status of the response*/
3362 WDI_Status wdiStatus;
3363
3364 /*BssIDX of the session*/
3365 wpt_uint8 bssIdx;
3366}WDI_ExitBmpsRspParamsType;
3367
3368/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003369 WDI_EnterUapsdReqinfoType
3370 Enter UAPSD parameters passed to WDA from UMAC
3371---------------------------------------------------------------------------*/
3372typedef struct
3373{
3374 wpt_uint8 ucBkDeliveryEnabled:1;
3375 wpt_uint8 ucBeDeliveryEnabled:1;
3376 wpt_uint8 ucViDeliveryEnabled:1;
3377 wpt_uint8 ucVoDeliveryEnabled:1;
3378 wpt_uint8 ucBkTriggerEnabled:1;
3379 wpt_uint8 ucBeTriggerEnabled:1;
3380 wpt_uint8 ucViTriggerEnabled:1;
3381 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003382 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003383}WDI_EnterUapsdReqinfoType;
3384
3385/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003386 WDI_EnterUapsdRspParamsType
3387 Enter UAPSD parameters passed from WDI to WDA
3388---------------------------------------------------------------------------*/
3389typedef struct
3390{
3391 /*Status of the response*/
3392 WDI_Status wdiStatus;
3393
3394 /*BssIDX of the session*/
3395 wpt_uint8 bssIdx;
3396}WDI_EnterUapsdRspParamsType;
3397
3398/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003399 WDI_EnterUapsdReqinfoType
3400 Enter UAPSD parameters passed to WDI from WDA
3401---------------------------------------------------------------------------*/
3402typedef struct
3403{
3404 /*Enter UAPSD Info Type, same as tUapsdParams */
3405 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3406 /*Request status callback offered by UMAC - it is called if the current req
3407 has returned PENDING as status; it delivers the status of sending the message
3408 over the BUS */
3409 WDI_ReqStatusCb wdiReqStatusCB;
3410 /*The user data passed in by UMAC, it will be sent back when the above
3411 function pointer will be called */
3412 void* pUserData;
3413}WDI_EnterUapsdReqParamsType;
3414
3415/*---------------------------------------------------------------------------
3416 WDI_UpdateUapsdReqinfoType
3417 Update UAPSD parameters passed to WDA from UMAC
3418---------------------------------------------------------------------------*/
3419typedef struct
3420{
3421 wpt_uint8 ucSTAIdx;
3422 wpt_uint8 ucUapsdACMask;
3423 wpt_uint32 uMaxSpLen;
3424}WDI_UpdateUapsdReqinfoType;
3425
3426/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003427 WDI_ExitUapsdReqinfoType
3428 Exit UAPSD parameters passed to WDA from UMAC
3429---------------------------------------------------------------------------*/
3430typedef struct
3431{
3432 wpt_uint8 bssIdx;
3433}WDI_ExitUapsdReqinfoType;
3434
3435/*---------------------------------------------------------------------------
3436 WDI_ExitUapsdReqParamsType
3437 Exit UAPSD parameters passed to WDI from WDA
3438---------------------------------------------------------------------------*/
3439typedef struct
3440{
3441 /*Exit UAPSD Info Type, same as tUapsdParams */
3442 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3443 /*Request status callback offered by UMAC - it is called if the current req
3444 has returned PENDING as status; it delivers the status of sending the message
3445 over the BUS */
3446 WDI_ReqStatusCb wdiReqStatusCB;
3447 /*The user data passed in by UMAC, it will be sent back when the above
3448 function pointer will be called */
3449 void* pUserData;
3450}WDI_ExitUapsdReqParamsType;
3451
3452/*---------------------------------------------------------------------------
3453 WDI_ExitUapsdRspParamsType
3454 Exit UAPSD parameters passed from WDI to WDA
3455---------------------------------------------------------------------------*/
3456typedef struct
3457{
3458 /*Status of the response*/
3459 WDI_Status wdiStatus;
3460
3461 /*BssIDX of the session*/
3462 wpt_uint8 bssIdx;
3463}WDI_ExitUapsdRspParamsType;
3464
3465/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003466 WDI_UpdateUapsdReqParamsType
3467 Update UAPSD parameters passed to WDI form WDA
3468---------------------------------------------------------------------------*/
3469typedef struct
3470{
3471 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3472 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3473 /*Request status callback offered by UMAC - it is called if the current req
3474 has returned PENDING as status; it delivers the status of sending the message
3475 over the BUS */
3476 WDI_ReqStatusCb wdiReqStatusCB;
3477 /*The user data passed in by UMAC, it will be sent back when the above
3478 function pointer will be called */
3479 void* pUserData;
3480}WDI_UpdateUapsdReqParamsType;
3481
3482/*---------------------------------------------------------------------------
3483 WDI_ConfigureRxpFilterReqParamsType
3484 RXP filter parameters passed to WDI form WDA
3485---------------------------------------------------------------------------*/
3486typedef struct
3487{
3488 /* Mode of Mcast and Bcast filters configured */
3489 wpt_uint8 ucSetMcstBcstFilterSetting;
3490
3491 /* Mcast Bcast Filters enable/disable*/
3492 wpt_uint8 ucSetMcstBcstFilter;
3493}WDI_RxpFilterReqParamsType;
3494
3495typedef struct
3496{
3497 /* Rxp Filter */
3498 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3499
3500 /*Request status callback offered by UMAC - it is called if the current req
3501 has returned PENDING as status; it delivers the status of sending the message
3502 over the BUS */
3503 WDI_ReqStatusCb wdiReqStatusCB;
3504 /*The user data passed in by UMAC, it will be sent back when the above
3505 function pointer will be called */
3506 void* pUserData;
3507}WDI_ConfigureRxpFilterReqParamsType;
3508
3509/*---------------------------------------------------------------------------
3510 WDI_BeaconFilterInfoType
3511 Beacon Filtering data structures passed to WDA form UMAC
3512---------------------------------------------------------------------------*/
3513typedef struct
3514{
3515 wpt_uint16 usCapabilityInfo;
3516 wpt_uint16 usCapabilityMask;
3517 wpt_uint16 usBeaconInterval;
3518 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003519 wpt_uint8 bssIdx;
3520 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003521}WDI_BeaconFilterInfoType;
3522
3523/*---------------------------------------------------------------------------
3524 WDI_BeaconFilterReqParamsType
3525 Beacon Filtering parameters passed to WDI form WDA
3526---------------------------------------------------------------------------*/
3527typedef struct
3528{
3529 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3530 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3531 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3532 copy of params from WDA to WDI */
3533 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3534 /*Request status callback offered by UMAC - it is called if the current req
3535 has returned PENDING as status; it delivers the status of sending the message
3536 over the BUS */
3537 WDI_ReqStatusCb wdiReqStatusCB;
3538 /*The user data passed in by UMAC, it will be sent back when the above
3539 function pointer will be called */
3540 void* pUserData;
3541}WDI_BeaconFilterReqParamsType;
3542
3543/*---------------------------------------------------------------------------
3544 WDI_RemBeaconFilterInfoType
3545 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3546---------------------------------------------------------------------------*/
3547typedef struct
3548{
3549 wpt_uint8 ucIeCount;
3550 wpt_uint8 ucRemIeId[1];
3551}WDI_RemBeaconFilterInfoType;
3552
3553/*---------------------------------------------------------------------------
3554 WDI_RemBeaconFilterReqParamsType
3555 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3556---------------------------------------------------------------------------*/
3557typedef struct
3558{
3559 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3560 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3561 /*Request status callback offered by UMAC - it is called if the current req
3562 has returned PENDING as status; it delivers the status of sending the message
3563 over the BUS */
3564 WDI_ReqStatusCb wdiReqStatusCB;
3565 /*The user data passed in by UMAC, it will be sent back when the above
3566 function pointer will be called */
3567 void* pUserData;
3568}WDI_RemBeaconFilterReqParamsType;
3569
3570/*---------------------------------------------------------------------------
3571 WDI_RSSIThresholdsType
3572 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3573---------------------------------------------------------------------------*/
3574typedef struct
3575{
3576 wpt_int8 ucRssiThreshold1 : 8;
3577 wpt_int8 ucRssiThreshold2 : 8;
3578 wpt_int8 ucRssiThreshold3 : 8;
3579 wpt_uint8 bRssiThres1PosNotify : 1;
3580 wpt_uint8 bRssiThres1NegNotify : 1;
3581 wpt_uint8 bRssiThres2PosNotify : 1;
3582 wpt_uint8 bRssiThres2NegNotify : 1;
3583 wpt_uint8 bRssiThres3PosNotify : 1;
3584 wpt_uint8 bRssiThres3NegNotify : 1;
3585 wpt_uint8 bReserved10 : 2;
3586} WDI_RSSIThresholdsType;
3587
3588/*---------------------------------------------------------------------------
3589 WDI_SetRSSIThresholdsReqParamsType
3590 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3591---------------------------------------------------------------------------*/
3592typedef struct
3593{
3594 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3595 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3596 /*Request status callback offered by UMAC - it is called if the current req
3597 has returned PENDING as status; it delivers the status of sending the message
3598 over the BUS */
3599 WDI_ReqStatusCb wdiReqStatusCB;
3600 /*The user data passed in by UMAC, it will be sent back when the above
3601 function pointer will be called */
3602 void* pUserData;
3603}WDI_SetRSSIThresholdsReqParamsType;
3604
3605/*---------------------------------------------------------------------------
3606 WDI_HostOffloadReqType
3607 host offload info passed to WDA form UMAC
3608---------------------------------------------------------------------------*/
3609#ifdef WLAN_NS_OFFLOAD
3610typedef struct
3611{
3612 wpt_uint8 srcIPv6Addr[16];
3613 wpt_uint8 selfIPv6Addr[16];
3614 //Only support 2 possible Network Advertisement IPv6 address
3615 wpt_uint8 targetIPv6Addr1[16];
3616 wpt_uint8 targetIPv6Addr2[16];
3617 wpt_uint8 selfMacAddr[6];
3618 wpt_uint8 srcIPv6AddrValid : 1;
3619 wpt_uint8 targetIPv6Addr1Valid : 1;
3620 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303621 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003622} WDI_NSOffloadParams;
3623#endif //WLAN_NS_OFFLOAD
3624
3625typedef struct
3626{
3627 wpt_uint8 ucOffloadType;
3628 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003629 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003630 union
3631 {
3632 wpt_uint8 aHostIpv4Addr [4];
3633 wpt_uint8 aHostIpv6Addr [16];
3634 } params;
3635} WDI_HostOffloadReqType;
3636
3637/*---------------------------------------------------------------------------
3638 WDI_HostOffloadReqParamsType
3639 host offload info passed to WDI form WDA
3640---------------------------------------------------------------------------*/
3641typedef struct
3642{
3643 /*Host offload Info Type, same as tHalHostOffloadReq */
3644 WDI_HostOffloadReqType wdiHostOffloadInfo;
3645#ifdef WLAN_NS_OFFLOAD
3646 WDI_NSOffloadParams wdiNsOffloadParams;
3647#endif //WLAN_NS_OFFLOAD
3648 /*Request status callback offered by UMAC - it is called if the current req
3649 has returned PENDING as status; it delivers the status of sending the message
3650 over the BUS */
3651 WDI_ReqStatusCb wdiReqStatusCB;
3652 /*The user data passed in by UMAC, it will be sent back when the above
3653 function pointer will be called */
3654 void* pUserData;
3655}WDI_HostOffloadReqParamsType;
3656
3657/*---------------------------------------------------------------------------
3658 WDI_KeepAliveReqType
3659 Keep Alive info passed to WDA form UMAC
3660---------------------------------------------------------------------------*/
3661typedef struct
3662{
3663 wpt_uint8 ucPacketType;
3664 wpt_uint32 ucTimePeriod;
3665 wpt_uint8 aHostIpv4Addr[4];
3666 wpt_uint8 aDestIpv4Addr[4];
3667 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003668 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003669} WDI_KeepAliveReqType;
3670
3671/*---------------------------------------------------------------------------
3672 WDI_KeepAliveReqParamsType
3673 Keep Alive passed to WDI form WDA
3674---------------------------------------------------------------------------*/
3675typedef struct
3676{
3677 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3678 WDI_KeepAliveReqType wdiKeepAliveInfo;
3679 /*Request status callback offered by UMAC - it is called if the current req
3680 has returned PENDING as status; it delivers the status of sending the message
3681 over the BUS */
3682 WDI_ReqStatusCb wdiReqStatusCB;
3683 /*The user data passed in by UMAC, it will be sent back when the above
3684 function pointer will be called */
3685 void* pUserData;
3686}WDI_KeepAliveReqParamsType;
3687
3688/*---------------------------------------------------------------------------
3689 WDI_WowlAddBcPtrnInfoType
3690 Wowl add ptrn info passed to WDA form UMAC
3691---------------------------------------------------------------------------*/
3692typedef struct
3693{
3694 wpt_uint8 ucPatternId; // Pattern ID
3695 // Pattern byte offset from beginning of the 802.11 packet to start of the
3696 // wake-up pattern
3697 wpt_uint8 ucPatternByteOffset;
3698 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3699 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3700 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3701 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3702 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3703 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003704 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003705} WDI_WowlAddBcPtrnInfoType;
3706
3707/*---------------------------------------------------------------------------
3708 WDI_WowlAddBcPtrnReqParamsType
3709 Wowl add ptrn info passed to WDI form WDA
3710---------------------------------------------------------------------------*/
3711typedef struct
3712{
3713 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3714 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3715 /*Request status callback offered by UMAC - it is called if the current req
3716 has returned PENDING as status; it delivers the status of sending the message
3717 over the BUS */
3718 WDI_ReqStatusCb wdiReqStatusCB;
3719 /*The user data passed in by UMAC, it will be sent back when the above
3720 function pointer will be called */
3721 void* pUserData;
3722}WDI_WowlAddBcPtrnReqParamsType;
3723
3724/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003725 WDI_WowlAddBcPtrnRspParamsType
3726 Wowl add ptrn info passed from WDI to WDA
3727---------------------------------------------------------------------------*/
3728typedef struct
3729{
3730 /*Status of the response*/
3731 WDI_Status wdiStatus;
3732 /*BssIDX of the session*/
3733 wpt_uint8 bssIdx;
3734}WDI_WowlAddBcPtrnRspParamsType;
3735
3736/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003737 WDI_WowlDelBcPtrnInfoType
3738 Wowl add ptrn info passed to WDA form UMAC
3739---------------------------------------------------------------------------*/
3740typedef struct
3741{
3742 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003743 wpt_uint8 ucPatternId;
3744 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003745} WDI_WowlDelBcPtrnInfoType;
3746
3747/*---------------------------------------------------------------------------
3748 WDI_WowlDelBcPtrnReqParamsType
3749 Wowl add ptrn info passed to WDI form WDA
3750---------------------------------------------------------------------------*/
3751typedef struct
3752{
3753 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
3754 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
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_WowlDelBcPtrnReqParamsType;
3763
3764/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003765 WDI_WowlDelBcPtrnRspParamsType
3766 Wowl Del ptrn info passed from WDI to WDA
3767---------------------------------------------------------------------------*/
3768typedef struct
3769{
3770 /*Status of the response*/
3771 WDI_Status wdiStatus;
3772 /*BssIDX of the session*/
3773 wpt_uint8 bssIdx;
3774}WDI_WowlDelBcPtrnRspParamsType;
3775
3776/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003777 WDI_WowlEnterInfoType
3778 Wowl enter info passed to WDA form UMAC
3779---------------------------------------------------------------------------*/
3780typedef struct
3781{
3782 /* Enables/disables magic packet filtering */
3783 wpt_uint8 ucMagicPktEnable;
3784
3785 /* Magic pattern */
3786 wpt_macAddr magicPtrn;
3787
3788 /* Enables/disables packet pattern filtering in firmware.
3789 Enabling this flag enables broadcast pattern matching
3790 in Firmware. If unicast pattern matching is also desired,
3791 ucUcastPatternFilteringEnable flag must be set tot true
3792 as well
3793 */
3794 wpt_uint8 ucPatternFilteringEnable;
3795
3796 /* Enables/disables unicast packet pattern filtering.
3797 This flag specifies whether we want to do pattern match
3798 on unicast packets as well and not just broadcast packets.
3799 This flag has no effect if the ucPatternFilteringEnable
3800 (main controlling flag) is set to false
3801 */
3802 wpt_uint8 ucUcastPatternFilteringEnable;
3803
3804 /* This configuration is valid only when magicPktEnable=1.
3805 * It requests hardware to wake up when it receives the
3806 * Channel Switch Action Frame.
3807 */
3808 wpt_uint8 ucWowChnlSwitchRcv;
3809
3810 /* This configuration is valid only when magicPktEnable=1.
3811 * It requests hardware to wake up when it receives the
3812 * Deauthentication Frame.
3813 */
3814 wpt_uint8 ucWowDeauthRcv;
3815
3816 /* This configuration is valid only when magicPktEnable=1.
3817 * It requests hardware to wake up when it receives the
3818 * Disassociation Frame.
3819 */
3820 wpt_uint8 ucWowDisassocRcv;
3821
3822 /* This configuration is valid only when magicPktEnable=1.
3823 * It requests hardware to wake up when it has missed
3824 * consecutive beacons. This is a hardware register
3825 * configuration (NOT a firmware configuration).
3826 */
3827 wpt_uint8 ucWowMaxMissedBeacons;
3828
3829 /* This configuration is valid only when magicPktEnable=1.
3830 * This is a timeout value in units of microsec. It requests
3831 * hardware to unconditionally wake up after it has stayed
3832 * in WoWLAN mode for some time. Set 0 to disable this feature.
3833 */
3834 wpt_uint8 ucWowMaxSleepUsec;
3835
3836#ifdef WLAN_WAKEUP_EVENTS
3837 /* This configuration directs the WoW packet filtering to look for EAP-ID
3838 * requests embedded in EAPOL frames and use this as a wake source.
3839 */
3840 wpt_uint8 ucWoWEAPIDRequestEnable;
3841
3842 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
3843 * requests and use this as a wake source.
3844 */
3845 wpt_uint8 ucWoWEAPOL4WayEnable;
3846
3847 /* This configuration allows a host wakeup on an network scan offload match.
3848 */
3849 wpt_uint8 ucWowNetScanOffloadMatch;
3850
3851 /* This configuration allows a host wakeup on any GTK rekeying error.
3852 */
3853 wpt_uint8 ucWowGTKRekeyError;
3854
3855 /* This configuration allows a host wakeup on BSS connection loss.
3856 */
3857 wpt_uint8 ucWoWBSSConnLoss;
3858#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003859
3860 /* BSSIDX used to find the current session
3861 */
3862 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003863} WDI_WowlEnterInfoType;
3864
3865/*---------------------------------------------------------------------------
3866 WDI_WowlEnterReqParamsType
3867 Wowl enter info passed to WDI form WDA
3868---------------------------------------------------------------------------*/
3869typedef struct
3870{
3871 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3872 WDI_WowlEnterInfoType wdiWowlEnterInfo;
3873 /*Request status callback offered by UMAC - it is called if the current req
3874 has returned PENDING as status; it delivers the status of sending the message
3875 over the BUS */
3876 WDI_ReqStatusCb wdiReqStatusCB;
3877 /*The user data passed in by UMAC, it will be sent back when the above
3878 function pointer will be called */
3879 void* pUserData;
3880}WDI_WowlEnterReqParamsType;
3881
3882/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003883 WDI_WowlEnterRsqParamsType
3884 Wowl enter info passed from WDI to WDA
3885---------------------------------------------------------------------------*/
3886typedef struct
3887{
3888 /*Status of the response message*/
3889 WDI_Status status;
3890
3891 /* BSSIDX used to find the current session
3892 */
3893 wpt_uint8 bssIdx;
3894}WDI_WowlEnterRspParamsType;
3895
3896/*---------------------------------------------------------------------------
3897 WDI_WowlExitInfoType
3898 Wowl exit info passed to WDA form UMAC
3899 ---------------------------------------------------------------------------*/
3900typedef struct
3901{
3902 /* BSSIDX used to find the current session
3903 */
3904 wpt_uint8 bssIdx;
3905} WDI_WowlExitInfoType;
3906
3907/*---------------------------------------------------------------------------
3908 WDI_WowlExitReqParamsType
3909 Wowl exit info passed to WDI form WDA
3910---------------------------------------------------------------------------*/
3911typedef struct
3912{
3913 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3914 WDI_WowlExitInfoType wdiWowlExitInfo;
3915 /*Request status callback offered by UMAC - it is called if the current req
3916 has returned PENDING as status; it delivers the status of sending the message
3917 over the BUS */
3918 WDI_ReqStatusCb wdiReqStatusCB;
3919 /*The user data passed in by UMAC, it will be sent back when the above
3920 function pointer will be called */
3921 void* pUserData;
3922}WDI_WowlExitReqParamsType;
3923
3924/*---------------------------------------------------------------------------
3925 WDI_WowlExitRspParamsType
3926 Wowl exit info passed from WDI to WDA
3927---------------------------------------------------------------------------*/
3928typedef struct
3929{
3930 /*Status of the response message*/
3931 WDI_Status status;
3932
3933 /* BSSIDX used to find the current session
3934 */
3935 wpt_uint8 bssIdx;
3936}WDI_WowlExitRspParamsType;
3937
3938/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003939 WDI_ConfigureAppsCpuWakeupStateReqParamsType
3940 Apps Cpu Wakeup State parameters passed to WDI form WDA
3941---------------------------------------------------------------------------*/
3942typedef struct
3943{
3944 /*Depicts the state of the Apps CPU */
3945 wpt_boolean bIsAppsAwake;
3946 /*Request status callback offered by UMAC - it is called if the current req
3947 has returned PENDING as status; it delivers the status of sending the message
3948 over the BUS */
3949 WDI_ReqStatusCb wdiReqStatusCB;
3950 /*The user data passed in by UMAC, it will be sent back when the above
3951 function pointer will be called */
3952 void* pUserData;
3953}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
3954/*---------------------------------------------------------------------------
3955 WDI_FlushAcReqinfoType
3956---------------------------------------------------------------------------*/
3957typedef struct
3958{
3959 // Message Type
3960 wpt_uint16 usMesgType;
3961
3962 // Message Length
3963 wpt_uint16 usMesgLen;
3964
3965 // Station Index. originates from HAL
3966 wpt_uint8 ucSTAId;
3967
3968 // TID for which the transmit queue is being flushed
3969 wpt_uint8 ucTid;
3970
3971}WDI_FlushAcReqinfoType;
3972
3973/*---------------------------------------------------------------------------
3974 WDI_FlushAcReqParamsType
3975---------------------------------------------------------------------------*/
3976typedef struct
3977{
3978 /*AC Info */
3979 WDI_FlushAcReqinfoType wdiFlushAcInfo;
3980
3981 /*Request status callback offered by UMAC - it is called if the current
3982 req has returned PENDING as status; it delivers the status of sending
3983 the message over the BUS */
3984 WDI_ReqStatusCb wdiReqStatusCB;
3985
3986 /*The user data passed in by UMAC, it will be sent back when the above
3987 function pointer will be called */
3988 void* pUserData;
3989}WDI_FlushAcReqParamsType;
3990
3991/*---------------------------------------------------------------------------
3992 WDI_BtAmpEventinfoType
3993 BT-AMP Event Structure
3994---------------------------------------------------------------------------*/
3995typedef struct
3996{
3997 wpt_uint8 ucBtAmpEventType;
3998
3999} WDI_BtAmpEventinfoType;
4000
4001/*---------------------------------------------------------------------------
4002 WDI_BtAmpEventParamsType
4003---------------------------------------------------------------------------*/
4004typedef struct
4005{
4006 /*BT AMP event Info */
4007 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4008
4009 /*Request status callback offered by UMAC - it is called if the current
4010 req has returned PENDING as status; it delivers the status of sending
4011 the message over the BUS */
4012 WDI_ReqStatusCb wdiReqStatusCB;
4013
4014 /*The user data passed in by UMAC, it will be sent back when the above
4015 function pointer will be called */
4016 void* pUserData;
4017}WDI_BtAmpEventParamsType;
4018
Jeff Johnsone7245742012-09-05 17:12:55 -07004019#ifdef FEATURE_OEM_DATA_SUPPORT
4020
4021#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004022#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004023#endif
4024#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004025#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004026#endif
4027
4028/*----------------------------------------------------------------------------
4029 WDI_oemDataReqInfoType
4030----------------------------------------------------------------------------*/
4031typedef struct
4032{
4033 wpt_macAddr selfMacAddr;
4034 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4035}WDI_oemDataReqInfoType;
4036
4037/*----------------------------------------------------------------------------
4038 WDI_oemDataReqParamsType
4039----------------------------------------------------------------------------*/
4040typedef struct
4041{
4042 /*Request status callback offered by UMAC - it is called if the current
4043 req has returned PENDING as status; it delivers the status of sending
4044 the message over the BUS */
4045 WDI_ReqStatusCb wdiReqStatusCB;
4046
4047 /*The user data passed in by UMAC, it will be sent back when the above
4048 function pointer will be called */
4049 void* pUserData;
4050
4051 /*OEM DATA REQ Info */
4052 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4053
4054}WDI_oemDataReqParamsType;
4055
4056/*----------------------------------------------------------------------------
4057 WDI_oemDataRspParamsType
4058----------------------------------------------------------------------------*/
4059typedef struct
4060{
4061 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4062}WDI_oemDataRspParamsType;
4063
4064#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004065
4066#ifdef WLAN_FEATURE_VOWIFI_11R
4067/*---------------------------------------------------------------------------
4068 WDI_AggrAddTSReqInfoType
4069---------------------------------------------------------------------------*/
4070typedef struct
4071{
4072 /*STA Index*/
4073 wpt_uint8 ucSTAIdx;
4074
4075 /*Identifier for TSpec*/
4076 wpt_uint8 ucTspecIdx;
4077
4078 /*Tspec IE negotiated OTA*/
4079 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4080
4081 /*UAPSD delivery and trigger enabled flags */
4082 wpt_uint8 ucUapsdFlags;
4083
4084 /*SI for each AC*/
4085 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4086
4087 /*Suspend Interval for each AC*/
4088 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4089
4090 /*DI for each AC*/
4091 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4092
4093}WDI_AggrAddTSReqInfoType;
4094
4095
4096/*---------------------------------------------------------------------------
4097 WDI_AggrAddTSReqParamsType
4098---------------------------------------------------------------------------*/
4099typedef struct
4100{
4101 /*TSpec Info */
4102 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4103
4104 /*Request status callback offered by UMAC - it is called if the current
4105 req has returned PENDING as status; it delivers the status of sending
4106 the message over the BUS */
4107 WDI_ReqStatusCb wdiReqStatusCB;
4108
4109 /*The user data passed in by UMAC, it will be sent back when the above
4110 function pointer will be called */
4111 void* pUserData;
4112}WDI_AggrAddTSReqParamsType;
4113
4114#endif /* WLAN_FEATURE_VOWIFI_11R */
4115
Jeff Johnson295189b2012-06-20 16:38:30 -07004116/*---------------------------------------------------------------------------
4117 WDI_FTMCommandReqType
4118---------------------------------------------------------------------------*/
4119typedef struct
4120{
4121 /* FTM Command Body length */
4122 wpt_uint32 bodyLength;
4123 /* Actual FTM Command body */
4124 void *FTMCommandBody;
4125}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004126
4127/*---------------------------------------------------------------------------
4128 WDI_WlanSuspendInfoType
4129---------------------------------------------------------------------------*/
4130typedef struct
4131{
4132 /* Mode of Mcast and Bcast filters configured */
4133 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4134}WDI_WlanSuspendInfoType;
4135
4136/*---------------------------------------------------------------------------
4137 WDI_SuspendParamsType
4138---------------------------------------------------------------------------*/
4139typedef struct
4140{
4141 WDI_WlanSuspendInfoType wdiSuspendParams;
4142
4143 /*Request status callback offered by UMAC - it is called if the current
4144 req has returned PENDING as status; it delivers the status of sending
4145 the message over the BUS */
4146 WDI_ReqStatusCb wdiReqStatusCB;
4147
4148 /*The user data passed in by UMAC, it will be sent back when the above
4149 function pointer will be called */
4150 void* pUserData;
4151
4152}WDI_SuspendParamsType;
4153
4154/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004155 WDI_TrafficStatsType - This is collected for each STA
4156---------------------------------------------------------------------------*/
4157
4158typedef struct
4159{
4160 /* TX stats */
4161 wpt_uint32 txBytesPushed;
4162 wpt_uint32 txPacketsPushed;
4163
4164 /* RX stats */
4165 wpt_uint32 rxBytesRcvd;
4166 wpt_uint32 rxPacketsRcvd;
4167 wpt_uint32 rxTimeTotal;
4168}WDI_TrafficStatsType;
4169
4170typedef struct
4171{
4172 WDI_TrafficStatsType *pTrafficStats;
4173 wpt_uint32 length;
4174 wpt_uint32 duration;
4175
4176 /*Request status callback offered by UMAC - it is called if the current
4177 req has returned PENDING as status; it delivers the status of sending
4178 the message over the BUS */
4179 WDI_ReqStatusCb wdiReqStatusCB;
4180
4181 /*The user data passed in by UMAC, it will be sent back when the above
4182 function pointer will be called */
4183 void* pUserData;
4184}WDI_TrafficStatsIndType;
4185
Chet Lanctot186b5732013-03-18 10:26:30 -07004186#ifdef WLAN_FEATURE_11W
4187typedef struct
4188{
4189
4190 wpt_boolean bExcludeUnencrypt;
4191 wpt_macAddr bssid;
4192 /*Request status callback offered by UMAC - it is called if the current
4193 req has returned PENDING as status; it delivers the status of sending
4194 the message over the BUS */
4195 WDI_ReqStatusCb wdiReqStatusCB;
4196
4197 /*The user data passed in by UMAC, it will be sent back when the above
4198 function pointer will be called */
4199 void* pUserData;
4200}WDI_ExcludeUnencryptIndType;
4201#endif
4202
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004203/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004204 WDI_WlanResumeInfoType
4205---------------------------------------------------------------------------*/
4206typedef struct
4207{
4208 /* Mode of Mcast and Bcast filters configured */
4209 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4210}WDI_WlanResumeInfoType;
4211
4212/*---------------------------------------------------------------------------
4213 WDI_ResumeParamsType
4214---------------------------------------------------------------------------*/
4215typedef struct
4216{
4217 WDI_WlanResumeInfoType wdiResumeParams;
4218
4219 /*Request status callback offered by UMAC - it is called if the current
4220 req has returned PENDING as status; it delivers the status of sending
4221 the message over the BUS */
4222 WDI_ReqStatusCb wdiReqStatusCB;
4223
4224 /*The user data passed in by UMAC, it will be sent back when the above
4225 function pointer will be called */
4226 void* pUserData;
4227
4228}WDI_ResumeParamsType;
4229
4230#ifdef WLAN_FEATURE_GTK_OFFLOAD
4231/*---------------------------------------------------------------------------
4232 * WDI_GTK_OFFLOAD_REQ
4233 *--------------------------------------------------------------------------*/
4234
4235typedef struct
4236{
4237 wpt_uint32 ulFlags; /* optional flags */
4238 wpt_uint8 aKCK[16]; /* Key confirmation key */
4239 wpt_uint8 aKEK[16]; /* key encryption key */
4240 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004241 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004242} WDI_GtkOffloadReqParams;
4243
4244typedef struct
4245{
4246 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4247
4248 /*Request status callback offered by UMAC - it is called if the current
4249 req has returned PENDING as status; it delivers the status of sending
4250 the message over the BUS */
4251 WDI_ReqStatusCb wdiReqStatusCB;
4252
4253 /*The user data passed in by UMAC, it will be sent back when the above
4254 function pointer will be called */
4255 void* pUserData;
4256} WDI_GtkOffloadReqMsg;
4257
4258/*---------------------------------------------------------------------------
4259 * WDI_GTK_OFFLOAD_RSP
4260 *--------------------------------------------------------------------------*/
4261typedef struct
4262{
4263 /* success or failure */
4264 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004265 /*BssIdx of the response */
4266 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004267} WDI_GtkOffloadRspParams;
4268
4269typedef struct
4270{
4271 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4272
4273 /*Request status callback offered by UMAC - it is called if the current
4274 req has returned PENDING as status; it delivers the status of sending
4275 the message over the BUS */
4276 WDI_ReqStatusCb wdiReqStatusCB;
4277
4278 /*The user data passed in by UMAC, it will be sent back when the above
4279 function pointer will be called */
4280 void* pUserData;
4281} WDI_GtkOffloadRspMsg;
4282
4283
4284/*---------------------------------------------------------------------------
4285* WDI_GTK_OFFLOAD_GETINFO_REQ
4286*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004287typedef struct
4288{
4289 /*BssIdx of the response */
4290 wpt_macAddr bssId;
4291} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004292
4293typedef struct
4294{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004295
4296 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004297 /*Request status callback offered by UMAC - it is called if the current
4298 req has returned PENDING as status; it delivers the status of sending
4299 the message over the BUS */
4300 WDI_ReqStatusCb wdiReqStatusCB;
4301
4302 /*The user data passed in by UMAC, it will be sent back when the above
4303 function pointer will be called */
4304 void* pUserData;
4305} WDI_GtkOffloadGetInfoReqMsg;
4306
4307/*---------------------------------------------------------------------------
4308* WDI_GTK_OFFLOAD_GETINFO_RSP
4309*--------------------------------------------------------------------------*/
4310typedef struct
4311{
4312 wpt_uint32 ulStatus; /* success or failure */
4313 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4314 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4315 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4316 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304317 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004318} WDI_GtkOffloadGetInfoRspParams;
4319
4320typedef struct
4321{
4322 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4323
4324 /*Request status callback offered by UMAC - it is called if the current
4325 req has returned PENDING as status; it delivers the status of sending
4326 the message over the BUS */
4327 WDI_ReqStatusCb wdiReqStatusCB;
4328
4329 /*The user data passed in by UMAC, it will be sent back when the above
4330 function pointer will be called */
4331 void* pUserData;
4332} WDI_GtkOffloadGetInfoRspMsg;
4333#endif // WLAN_FEATURE_GTK_OFFLOAD
4334
4335/*---------------------------------------------------------------------------
4336 WDI_SuspendResumeRspParamsType
4337---------------------------------------------------------------------------*/
4338typedef struct
4339{
4340 /*Status of the response*/
4341 WDI_Status wdiStatus;
4342}WDI_SuspendResumeRspParamsType;
4343
Leo Chang9056f462013-08-01 19:21:11 -07004344#ifdef FEATURE_WLAN_LPHB
4345/*---------------------------------------------------------------------------
4346 WDI Low Power Heart Beat Config request
4347 Copy from sirApi.h to avoid compile error
4348---------------------------------------------------------------------------*/
4349#define WDI_LPHB_FILTER_LEN 64
4350
4351typedef enum
4352{
4353 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4354 WDI_LPHB_SET_TCP_PARAMS_INDID,
4355 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4356 WDI_LPHB_SET_UDP_PARAMS_INDID,
4357 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4358 WDI_LPHB_SET_NETWORK_INFO_INDID,
4359} WDI_LPHBIndType;
4360
4361typedef struct
4362{
4363 wpt_uint8 enable;
4364 wpt_uint8 item;
4365 wpt_uint8 session;
4366} WDI_LPHBEnableStruct;
4367
4368typedef struct
4369{
4370 wpt_uint32 srv_ip;
4371 wpt_uint32 dev_ip;
4372 wpt_uint16 src_port;
4373 wpt_uint16 dst_port;
4374 wpt_uint16 timeout;
4375 wpt_uint8 session;
4376 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4377} WDI_LPHBTcpParamStruct;
4378
4379typedef struct
4380{
4381 wpt_uint16 length;
4382 wpt_uint8 offset;
4383 wpt_uint8 session;
4384 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4385} WDI_LPHBTcpFilterStruct;
4386
4387typedef struct
4388{
4389 wpt_uint32 srv_ip;
4390 wpt_uint32 dev_ip;
4391 wpt_uint16 src_port;
4392 wpt_uint16 dst_port;
4393 wpt_uint16 interval;
4394 wpt_uint16 timeout;
4395 wpt_uint8 session;
4396 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4397} WDI_LPHBUdpParamStruct;
4398
4399typedef struct
4400{
4401 wpt_uint16 length;
4402 wpt_uint8 offset;
4403 wpt_uint8 session;
4404 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4405} WDI_LPHBUdpFilterStruct;
4406
4407typedef struct
4408{
4409 wpt_uint16 cmd;
4410 wpt_uint16 dummy;
4411 union
4412 {
4413 WDI_LPHBEnableStruct lphbEnableReq;
4414 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4415 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4416 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4417 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4418 } params;
4419} WDI_LPHBReq;
4420#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004421
4422#ifdef FEATURE_WLAN_SCAN_PNO
4423
4424/*Max number of channels for a given network supported by PNO*/
4425#define WDI_PNO_MAX_NETW_CHANNELS 26
4426
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304427/*Max number of channels for a given network supported by PNO*/
4428#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4429
Jeff Johnson295189b2012-06-20 16:38:30 -07004430/*The max number of programable networks for PNO*/
4431#define WDI_PNO_MAX_SUPP_NETWORKS 16
4432
4433/*The max number of scan timers programable in Riva*/
4434#define WDI_PNO_MAX_SCAN_TIMERS 10
4435
4436#define WDI_PNO_MAX_PROBE_SIZE 450
4437
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004438#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4439#define WDI_ROAM_SCAN_MAX_CHANNELS 80 /* NUM_RF_CHANNELS */
4440#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004441#define WDI_ROAM_SCAN_RESERVED_BYTES 61
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004442#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004443
4444/*---------------------------------------------------------------------------
4445 WDI_AuthType
4446---------------------------------------------------------------------------*/
4447typedef enum
4448{
4449 WDI_AUTH_TYPE_ANY = 0,
4450
4451 WDI_AUTH_TYPE_NONE,
4452 WDI_AUTH_TYPE_OPEN_SYSTEM,
4453 WDI_AUTH_TYPE_SHARED_KEY,
4454
4455 WDI_AUTH_TYPE_WPA,
4456 WDI_AUTH_TYPE_WPA_PSK,
4457 WDI_AUTH_TYPE_WPA_NONE,
4458
4459 WDI_AUTH_TYPE_RSN,
4460 WDI_AUTH_TYPE_RSN_PSK,
4461 WDI_AUTH_TYPE_FT_RSN,
4462 WDI_AUTH_TYPE_FT_RSN_PSK,
4463 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4464 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4465 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4466
4467}WDI_AuthType;
4468
4469/*---------------------------------------------------------------------------
4470 WDI_EdType
4471---------------------------------------------------------------------------*/
4472typedef enum
4473{
4474 WDI_ED_ANY = 0,
4475 WDI_ED_NONE,
4476 WDI_ED_WEP40,
4477 WDI_ED_WEP104,
4478 WDI_ED_TKIP,
4479 WDI_ED_CCMP,
4480 WDI_ED_WPI,
4481 WDI_ED_AES_128_CMAC,
4482 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4483} WDI_EdType;
4484
4485
4486/*---------------------------------------------------------------------------
4487 WDI_PNOMode
4488---------------------------------------------------------------------------*/
4489typedef enum
4490{
4491 /*Network offload is to start immediately*/
4492 WDI_PNO_MODE_IMMEDIATE,
4493
4494 /*Network offload is to start on host suspend*/
4495 WDI_PNO_MODE_ON_SUSPEND,
4496
4497 /*Network offload is to start on host resume*/
4498 WDI_PNO_MODE_ON_RESUME,
4499 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4500} WDI_PNOMode;
4501
4502/* SSID broadcast type */
4503typedef enum
4504{
4505 WDI_BCAST_UNKNOWN = 0,
4506 WDI_BCAST_NORMAL = 1,
4507 WDI_BCAST_HIDDEN = 2,
4508
4509 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4510} WDI_SSIDBcastType;
4511
4512/*---------------------------------------------------------------------------
4513 WDI_NetworkType
4514---------------------------------------------------------------------------*/
4515typedef struct
4516{
4517 /*The SSID of the preferred network*/
4518 WDI_MacSSid ssId;
4519
4520 /*The authentication method of the preferred network*/
4521 WDI_AuthType wdiAuth;
4522
4523 /*The encryption method of the preferred network*/
4524 WDI_EdType wdiEncryption;
4525
4526 /*SSID broadcast type, normal, hidden or unknown*/
4527 WDI_SSIDBcastType wdiBcastNetworkType;
4528
4529 /*channel count - 0 for all channels*/
4530 wpt_uint8 ucChannelCount;
4531
4532 /*the actual channels*/
4533 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS];
4534
4535 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4536 wpt_uint8 rssiThreshold;
4537} WDI_NetworkType;
4538
4539
4540/*---------------------------------------------------------------------------
4541 WDI_ScanTimer
4542---------------------------------------------------------------------------*/
4543typedef struct
4544{
4545 /*The timer value*/
4546 wpt_uint32 uTimerValue;
4547
4548 /*The amount of time we should be repeating the interval*/
4549 wpt_uint32 uTimerRepeat;
4550} WDI_ScanTimer;
4551
4552/*---------------------------------------------------------------------------
4553 WDI_ScanTimersType
4554---------------------------------------------------------------------------*/
4555typedef struct
4556{
4557 /*The number of value pair intervals present in the array*/
4558 wpt_uint8 ucScanTimersCount;
4559
4560 /*The time-repeat value pairs*/
4561 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4562} WDI_ScanTimersType;
4563
4564/*---------------------------------------------------------------------------
4565 WDI_PNOScanReqType
4566---------------------------------------------------------------------------*/
4567typedef struct
4568{
4569 /*Enable or disable PNO feature*/
4570 wpt_uint8 bEnable;
4571
4572 /*PNO mode requested*/
4573 WDI_PNOMode wdiModePNO;
4574
4575 /*Network count*/
4576 wpt_uint8 ucNetworksCount;
4577
4578 /*The networks to look for*/
4579 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4580
4581 /*Scan timer intervals*/
4582 WDI_ScanTimersType scanTimers;
4583
4584 /*Probe template for 2.4GHz band*/
4585 wpt_uint16 us24GProbeSize;
4586 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4587
4588 /*Probe template for 5GHz band*/
4589 wpt_uint16 us5GProbeSize;
4590 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4591} WDI_PNOScanReqType;
4592
4593/*---------------------------------------------------------------------------
4594 WDI_PNOScanReqParamsType
4595 PNO info passed to WDI form WDA
4596---------------------------------------------------------------------------*/
4597typedef struct
4598{
4599 /* PNO Info Type, same as tPrefNetwListParams */
4600 WDI_PNOScanReqType wdiPNOScanInfo;
4601 /* Request status callback offered by UMAC - it is called if the current req
4602 has returned PENDING as status; it delivers the status of sending the message
4603 over the BUS */
4604 WDI_ReqStatusCb wdiReqStatusCB;
4605 /* The user data passed in by UMAC, it will be sent back when the above
4606 function pointer will be called */
4607 void* pUserData;
4608} WDI_PNOScanReqParamsType;
4609
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004610#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4611
4612typedef struct
4613{
4614 /*The SSID of the preferred network*/
4615 WDI_MacSSid ssId;
4616 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4617
4618 /*The authentication method of the preferred network*/
4619 WDI_AuthType authentication;
4620
4621 /*The encryption method of the preferred network*/
4622 WDI_EdType encryption;
4623 WDI_EdType mcencryption;
4624
4625 /*SSID broadcast type, normal, hidden or unknown*/
4626 //WDI_SSIDBcastType wdiBcastNetworkType;
4627
4628 /*channel count - 0 for all channels*/
4629 wpt_uint8 ChannelCount;
4630
4631 /*the actual channels*/
4632 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4633
4634} WDI_RoamNetworkType;
4635
4636typedef struct WDIMobilityDomainInfo
4637{
4638 wpt_uint8 mdiePresent;
4639 wpt_uint16 mobilityDomain;
4640} WDI_MobilityDomainInfo;
4641
4642/*---------------------------------------------------------------------------
4643 WDI_RoamOffloadScanInfo
4644---------------------------------------------------------------------------*/
4645typedef struct
4646{
4647 wpt_boolean RoamScanOffloadEnabled;
4648 wpt_uint8 LookupThreshold;
4649 wpt_uint8 RoamRssiDiff;
4650 wpt_uint8 ChannelCacheType;
4651 wpt_uint8 Command;
4652 wpt_uint8 StartScanReason;
4653 wpt_uint16 NeighborScanTimerPeriod;
4654 wpt_uint16 NeighborRoamScanRefreshPeriod;
4655 wpt_uint16 NeighborScanChannelMinTime;
4656 wpt_uint16 NeighborScanChannelMaxTime;
4657 wpt_uint16 EmptyRefreshScanPeriod;
4658 wpt_uint8 ValidChannelCount;
4659 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
4660 wpt_boolean IsCCXEnabled;
4661 /*Probe template for 2.4GHz band*/
4662 wpt_uint16 us24GProbeSize;
4663 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
4664
4665 /*Probe template for 5GHz band*/
4666 wpt_uint16 us5GProbeSize;
4667 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004668 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004669 * As per requirement, later, the following structure can be used as an array of networks.*/
4670 WDI_RoamNetworkType ConnectedNetwork;
4671 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004672 wpt_uint8 nProbes;
4673 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004674 wpt_uint8 ReservedBytes[WDI_ROAM_SCAN_RESERVED_BYTES];
4675} WDI_RoamOffloadScanInfo;
4676
4677typedef struct
4678{
4679 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
4680 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
4681 /* Request status callback offered by UMAC - it is called if the current req
4682 has returned PENDING as status; it delivers the status of sending the message
4683 over the BUS */
4684 WDI_ReqStatusCb wdiReqStatusCB;
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;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004688} WDI_RoamScanOffloadReqParamsType;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004689
4690#endif
4691
Jeff Johnson295189b2012-06-20 16:38:30 -07004692/*---------------------------------------------------------------------------
4693 WDI_SetRssiFilterReqParamsType
4694 PNO info passed to WDI form WDA
4695---------------------------------------------------------------------------*/
4696typedef struct
4697{
4698 /* RSSI Threshold */
4699 wpt_uint8 rssiThreshold;
4700 /* Request status callback offered by UMAC - it is called if the current req
4701 has returned PENDING as status; it delivers the status of sending the message
4702 over the BUS */
4703 WDI_ReqStatusCb wdiReqStatusCB;
4704 /* The user data passed in by UMAC, it will be sent back when the above
4705 function pointer will be called */
4706 void* pUserData;
4707} WDI_SetRssiFilterReqParamsType;
4708
4709/*---------------------------------------------------------------------------
4710 WDI_UpdateScanParamsInfo
4711---------------------------------------------------------------------------*/
4712typedef struct
4713{
4714 /*Is 11d enabled*/
4715 wpt_uint8 b11dEnabled;
4716
4717 /*Was UMAc able to find the regulatory domain*/
4718 wpt_uint8 b11dResolved;
4719
4720 /*Number of channel allowed in the regulatory domain*/
4721 wpt_uint8 ucChannelCount;
4722
4723 /*The actual channels allowed in the regulatory domain*/
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304724 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004725
4726 /*Passive min channel time*/
4727 wpt_uint16 usPassiveMinChTime;
4728
4729 /*Passive max channel time*/
4730 wpt_uint16 usPassiveMaxChTime;
4731
4732 /*Active min channel time*/
4733 wpt_uint16 usActiveMinChTime;
4734
4735 /*Active max channel time*/
4736 wpt_uint16 usActiveMaxChTime;
4737
4738 /*channel bonding info*/
4739 wpt_uint8 cbState;
4740} WDI_UpdateScanParamsInfo;
4741
4742/*---------------------------------------------------------------------------
4743 WDI_UpdateScanParamsInfoType
4744 UpdateScanParams info passed to WDI form WDA
4745---------------------------------------------------------------------------*/
4746typedef struct
4747{
4748 /* PNO Info Type, same as tUpdateScanParams */
4749 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4750 /* Request status callback offered by UMAC - it is called if the current req
4751 has returned PENDING as status; it delivers the status of sending the message
4752 over the BUS */
4753 WDI_ReqStatusCb wdiReqStatusCB;
4754 /* The user data passed in by UMAC, it will be sent back when the above
4755 function pointer will be called */
4756 void* pUserData;
4757} WDI_UpdateScanParamsInfoType;
4758#endif // FEATURE_WLAN_SCAN_PNO
4759
4760/*---------------------------------------------------------------------------
4761 WDI_UpdateScanParamsInfo
4762---------------------------------------------------------------------------*/
4763typedef struct
4764{
4765 /* Ignore DTIM */
4766 wpt_uint32 uIgnoreDTIM;
4767
4768 /*DTIM Period*/
4769 wpt_uint32 uDTIMPeriod;
4770
4771 /* Listen Interval */
4772 wpt_uint32 uListenInterval;
4773
4774 /* Broadcast Multicas Filter */
4775 wpt_uint32 uBcastMcastFilter;
4776
4777 /* Beacon Early Termination */
4778 wpt_uint32 uEnableBET;
4779
4780 /* Beacon Early Termination Interval */
4781 wpt_uint32 uBETInterval;
4782
Yue Mac24062f2013-05-13 17:01:29 -07004783 /* MAX LI for modulated DTIM */
4784 wpt_uint32 uMaxLIModulatedDTIM;
4785
Jeff Johnson295189b2012-06-20 16:38:30 -07004786} WDI_SetPowerParamsInfo;
4787
4788/*---------------------------------------------------------------------------
4789 WDI_UpdateScanParamsInfoType
4790 UpdateScanParams info passed to WDI form WDA
4791---------------------------------------------------------------------------*/
4792typedef struct
4793{
4794 /* Power params Info Type, same as tSetPowerParamsReq */
4795 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
4796 /* Request status callback offered by UMAC - it is called if the current req
4797 has returned PENDING as status; it delivers the status of sending the message
4798 over the BUS */
4799 WDI_ReqStatusCb wdiReqStatusCB;
4800 /* The user data passed in by UMAC, it will be sent back when the above
4801 function pointer will be called */
4802 void* pUserData;
4803}WDI_SetPowerParamsReqParamsType;
4804
4805/*---------------------------------------------------------------------------
4806 WDI_SetTxPerTrackingConfType
4807 Wowl add ptrn info passed to WDA form UMAC
4808---------------------------------------------------------------------------*/
4809typedef struct
4810{
4811 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
4812 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
4813 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
4814 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
4815} WDI_TxPerTrackingParamType;
4816
4817/*---------------------------------------------------------------------------
4818 WDI_SetTxPerTrackingReqParamsType
4819 Tx PER Tracking parameters passed to WDI from WDA
4820---------------------------------------------------------------------------*/
4821typedef struct
4822{
4823 /* Configurations for Tx PER Tracking */
4824 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
4825 /*Request status callback offered by UMAC - it is called if the current req
4826 has returned PENDING as status; it delivers the status of sending the message
4827 over the BUS */
4828 WDI_ReqStatusCb wdiReqStatusCB;
4829 /*The user data passed in by UMAC, it will be sent back when the above
4830 function pointer will be called */
4831 void* pUserData;
4832}WDI_SetTxPerTrackingReqParamsType;
4833
4834#ifdef WLAN_FEATURE_PACKET_FILTERING
4835/*---------------------------------------------------------------------------
4836 Packet Filtering Parameters
4837---------------------------------------------------------------------------*/
4838
4839#define WDI_IPV4_ADDR_LEN 4
4840#define WDI_MAC_ADDR_LEN 6
4841#define WDI_MAX_FILTER_TEST_DATA_LEN 8
4842#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
4843#define WDI_MAX_NUM_FILTERS 20
4844#define WDI_MAX_NUM_TESTS_PER_FILTER 10
4845
4846//
4847// Receive Filter Parameters
4848//
4849typedef enum
4850{
4851 WDI_RCV_FILTER_TYPE_INVALID,
4852 WDI_RCV_FILTER_TYPE_FILTER_PKT,
4853 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
4854 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
4855}WDI_ReceivePacketFilterType;
4856
4857typedef enum
4858{
4859 WDI_FILTER_HDR_TYPE_INVALID,
4860 WDI_FILTER_HDR_TYPE_MAC,
4861 WDI_FILTER_HDR_TYPE_ARP,
4862 WDI_FILTER_HDR_TYPE_IPV4,
4863 WDI_FILTER_HDR_TYPE_IPV6,
4864 WDI_FILTER_HDR_TYPE_UDP,
4865 WDI_FILTER_HDR_TYPE_MAX
4866}WDI_RcvPktFltProtocolType;
4867
4868typedef enum
4869{
4870 WDI_FILTER_CMP_TYPE_INVALID,
4871 WDI_FILTER_CMP_TYPE_EQUAL,
4872 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
4873 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
4874 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
4875 WDI_FILTER_CMP_TYPE_MAX
4876}WDI_RcvPktFltCmpFlagType;
4877
4878typedef struct
4879{
4880 WDI_RcvPktFltProtocolType protocolLayer;
4881 WDI_RcvPktFltCmpFlagType cmpFlag;
4882/* Length of the data to compare */
4883 wpt_uint16 dataLength;
4884/* from start of the respective frame header */
4885 wpt_uint8 dataOffset;
4886 wpt_uint8 reserved; /* Reserved field */
4887/* Data to compare */
4888 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
4889/* Mask to be applied on the received packet data before compare */
4890 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
4891}WDI_RcvPktFilterFieldParams;
4892
4893typedef struct
4894{
4895 wpt_uint8 filterId;
4896 wpt_uint8 filterType;
4897 wpt_uint32 numFieldParams;
4898 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07004899 wpt_macAddr selfMacAddr;
4900 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004901 WDI_RcvPktFilterFieldParams paramsData[1];
4902
Jeff Johnson295189b2012-06-20 16:38:30 -07004903}WDI_RcvPktFilterCfgType;
4904
4905typedef struct
4906{
4907 /*Request status callback offered by UMAC - it is called if the current
4908 req has returned PENDING as status; it delivers the status of sending
4909 the message over the BUS */
4910 WDI_ReqStatusCb wdiReqStatusCB;
4911
4912 /*The user data passed in by UMAC, it will be sent back when the above
4913 function pointer will be called */
4914 void* pUserData;
4915
4916 // Variable length packet filter field params
4917 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
4918} WDI_SetRcvPktFilterReqParamsType;
4919
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004920typedef struct
4921{
4922 /*Result of the operation*/
4923 WDI_Status wdiStatus;
4924 /* BSSIDX of the Set Receive Filter
4925 */
4926 wpt_uint8 bssIdx;
4927} WDI_SetRcvPktFilterRspParamsType;
4928
Jeff Johnson295189b2012-06-20 16:38:30 -07004929//
4930// Filter Packet Match Count Parameters
4931//
4932typedef struct
4933{
4934 /*Request status callback offered by UMAC - it is called if the current
4935 req has returned PENDING as status; it delivers the status of sending
4936 the message over the BUS */
4937 WDI_ReqStatusCb wdiReqStatusCB;
4938
4939 /*The user data passed in by UMAC, it will be sent back when the above
4940 function pointer will be called */
4941 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004942
4943 /* BSSID of the Match count
4944 */
4945 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004946} WDI_RcvFltPktMatchCntReqParamsType;
4947
4948typedef struct
4949{
4950 wpt_uint8 filterId;
4951 wpt_uint32 matchCnt;
4952} WDI_RcvFltPktMatchCnt;
4953
4954typedef struct
4955{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004956 /*Result of the operation*/
4957 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07004958
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004959 /* BSSIDX of the Match count response
4960 */
4961 wpt_uint8 bssIdx;
4962
Jeff Johnson295189b2012-06-20 16:38:30 -07004963} WDI_RcvFltPktMatchCntRspParamsType;
4964
Jeff Johnson295189b2012-06-20 16:38:30 -07004965//
4966// Receive Filter Clear Parameters
4967//
4968typedef struct
4969{
4970 wpt_uint32 status; /* only valid for response message */
4971 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07004972 wpt_macAddr selfMacAddr;
4973 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004974}WDI_RcvFltPktClearParam;
4975
4976typedef struct
4977{
4978 WDI_RcvFltPktClearParam filterClearParam;
4979 /*Request status callback offered by UMAC - it is called if the current
4980 req has returned PENDING as status; it delivers the status of sending
4981 the message over the BUS */
4982 WDI_ReqStatusCb wdiReqStatusCB;
4983
4984 /*The user data passed in by UMAC, it will be sent back when the above
4985 function pointer will be called */
4986 void* pUserData;
4987} WDI_RcvFltPktClearReqParamsType;
4988
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004989typedef struct
4990{
4991 /*Result of the operation*/
4992 WDI_Status wdiStatus;
4993 /* BSSIDX of the Match count response
4994 */
4995 wpt_uint8 bssIdx;
4996
4997} WDI_RcvFltPktClearRspParamsType;
4998
Jeff Johnson295189b2012-06-20 16:38:30 -07004999//
5000// Multicast Address List Parameters
5001//
5002typedef struct
5003{
5004 wpt_uint32 ulMulticastAddrCnt;
5005 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005006 wpt_macAddr selfMacAddr;
5007 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005008} WDI_RcvFltMcAddrListType;
5009
5010typedef struct
5011{
5012 WDI_RcvFltMcAddrListType mcAddrList;
5013 /*Request status callback offered by UMAC - it is called if the current
5014 req has returned PENDING as status; it delivers the status of sending
5015 the message over the BUS */
5016 WDI_ReqStatusCb wdiReqStatusCB;
5017
5018 /*The user data passed in by UMAC, it will be sent back when the above
5019 function pointer will be called */
5020 void* pUserData;
5021} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005022
5023typedef struct
5024{
5025 /*Result of the operation*/
5026 WDI_Status wdiStatus;
5027 /* BSSIDX of the Match count response
5028 */
5029 wpt_uint8 bssIdx;
5030} WDI_RcvFltPktSetMcListRspParamsType;
5031
Jeff Johnson295189b2012-06-20 16:38:30 -07005032#endif // WLAN_FEATURE_PACKET_FILTERING
5033
5034/*---------------------------------------------------------------------------
5035 WDI_HALDumpCmdReqInfoType
5036---------------------------------------------------------------------------*/
5037typedef struct
5038{
5039 /*command*/
5040 wpt_uint32 command;
5041
5042 /*Arguments*/
5043 wpt_uint32 argument1;
5044 wpt_uint32 argument2;
5045 wpt_uint32 argument3;
5046 wpt_uint32 argument4;
5047
5048}WDI_HALDumpCmdReqInfoType;
5049
5050/*---------------------------------------------------------------------------
5051 WDI_HALDumpCmdReqParamsType
5052---------------------------------------------------------------------------*/
5053typedef struct
5054{
5055 /*NV Blob Info*/
5056 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5057
5058 /*Request status callback offered by UMAC - it is called if the current
5059 req has returned PENDING as status; it delivers the status of sending
5060 the message over the BUS */
5061 WDI_ReqStatusCb wdiReqStatusCB;
5062
5063 /*The user data passed in by UMAC, it will be sent back when the above
5064 function pointer will be called */
5065 void* pUserData;
5066
5067}WDI_HALDumpCmdReqParamsType;
5068
5069
5070/*---------------------------------------------------------------------------
5071 WDI_HALDumpCmdRspParamsType
5072---------------------------------------------------------------------------*/
5073typedef struct
5074{
5075 /*Result of the operation*/
5076 WDI_Status wdiStatus;
5077
5078 /* length of the buffer */
5079 wpt_uint16 usBufferLen;
5080
5081 /* Buffer */
5082 wpt_uint8 *pBuffer;
5083}WDI_HALDumpCmdRspParamsType;
5084
5085
5086/*---------------------------------------------------------------------------
5087 WDI_SetTmLevelReqType
5088---------------------------------------------------------------------------*/
5089typedef struct
5090{
5091 wpt_uint16 tmMode;
5092 wpt_uint16 tmLevel;
5093 void* pUserData;
5094}WDI_SetTmLevelReqType;
5095
5096/*---------------------------------------------------------------------------
5097 WDI_SetTmLevelRspType
5098---------------------------------------------------------------------------*/
5099typedef struct
5100{
5101 WDI_Status wdiStatus;
5102 void* pUserData;
5103}WDI_SetTmLevelRspType;
5104
Leo Chang9056f462013-08-01 19:21:11 -07005105#ifdef FEATURE_WLAN_LPHB
5106/*---------------------------------------------------------------------------
5107 WDI_LPHBConfigParamsType
5108---------------------------------------------------------------------------*/
5109typedef struct
5110{
5111 void* pLphsConfIndData;
5112}WDI_LPHBConfigParamsType;
5113#endif /* FEATURE_WLAN_LPHB */
5114
Jeff Johnson295189b2012-06-20 16:38:30 -07005115/*----------------------------------------------------------------------------
5116 * WDI callback types
5117 *--------------------------------------------------------------------------*/
5118
5119/*---------------------------------------------------------------------------
5120 WDI_StartRspCb
5121
5122 DESCRIPTION
5123
5124 This callback is invoked by DAL when it has received a Start response from
5125 the underlying device.
5126
5127 PARAMETERS
5128
5129 IN
5130 wdiRspParams: response parameters received from HAL
5131 pUserData: user data
5132
5133
5134 RETURN VALUE
5135 The result code associated with performing the operation
5136---------------------------------------------------------------------------*/
5137typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5138 void* pUserData);
5139
5140/*---------------------------------------------------------------------------
5141 WDI_StartRspCb
5142
5143 DESCRIPTION
5144
5145 This callback is invoked by DAL when it has received a Stop response from
5146 the underlying device.
5147
5148 PARAMETERS
5149
5150 IN
5151 wdiStatus: response status received from HAL
5152 pUserData: user data
5153
5154
5155
5156 RETURN VALUE
5157 The result code associated with performing the operation
5158---------------------------------------------------------------------------*/
5159typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5160 void* pUserData);
5161
5162/*---------------------------------------------------------------------------
5163 WDI_StartRspCb
5164
5165 DESCRIPTION
5166
5167 This callback is invoked by DAL when it has received an Init Scan response
5168 from the underlying device.
5169
5170 PARAMETERS
5171
5172 IN
5173 wdiStatus: response status received from HAL
5174 pUserData: user data
5175
5176
5177
5178 RETURN VALUE
5179 The result code associated with performing the operation
5180---------------------------------------------------------------------------*/
5181typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5182 void* pUserData);
5183
5184
5185/*---------------------------------------------------------------------------
5186 WDI_StartRspCb
5187
5188 DESCRIPTION
5189
5190 This callback is invoked by DAL when it has received a StartScan response
5191 from the underlying device.
5192
5193 PARAMETERS
5194
5195 IN
5196 wdiParams: response params received from HAL
5197 pUserData: user data
5198
5199
5200
5201 RETURN VALUE
5202 The result code associated with performing the operation
5203---------------------------------------------------------------------------*/
5204typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5205 void* pUserData);
5206
5207
5208/*---------------------------------------------------------------------------
5209 WDI_StartRspCb
5210
5211 DESCRIPTION
5212
5213 This callback is invoked by DAL when it has received a End Scan response
5214 from the underlying device.
5215
5216 PARAMETERS
5217
5218 IN
5219 wdiStatus: response status received from HAL
5220 pUserData: user data
5221
5222
5223
5224 RETURN VALUE
5225 The result code associated with performing the operation
5226---------------------------------------------------------------------------*/
5227typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5228 void* pUserData);
5229
5230
5231/*---------------------------------------------------------------------------
5232 WDI_StartRspCb
5233
5234 DESCRIPTION
5235
5236 This callback is invoked by DAL when it has received a Finish Scan response
5237 from the underlying device.
5238
5239 PARAMETERS
5240
5241 IN
5242 wdiStatus: response status received from HAL
5243 pUserData: user data
5244
5245
5246
5247 RETURN VALUE
5248 The result code associated with performing the operation
5249---------------------------------------------------------------------------*/
5250typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5251 void* pUserData);
5252
5253
5254/*---------------------------------------------------------------------------
5255 WDI_StartRspCb
5256
5257 DESCRIPTION
5258
5259 This callback is invoked by DAL when it has received a Join response from
5260 the underlying device.
5261
5262 PARAMETERS
5263
5264 IN
5265 wdiStatus: response status received from HAL
5266 pUserData: user data
5267
5268
5269
5270 RETURN VALUE
5271 The result code associated with performing the operation
5272---------------------------------------------------------------------------*/
5273typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5274 void* pUserData);
5275
5276
5277/*---------------------------------------------------------------------------
5278 WDI_StartRspCb
5279
5280 DESCRIPTION
5281
5282 This callback is invoked by DAL when it has received a Config BSS response
5283 from the underlying device.
5284
5285 PARAMETERS
5286
5287 IN
5288 wdiConfigBSSRsp: response parameters received from HAL
5289 pUserData: user data
5290
5291
5292 RETURN VALUE
5293 The result code associated with performing the operation
5294---------------------------------------------------------------------------*/
5295typedef void (*WDI_ConfigBSSRspCb)(
5296 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5297 void* pUserData);
5298
5299
5300/*---------------------------------------------------------------------------
5301 WDI_StartRspCb
5302
5303 DESCRIPTION
5304
5305 This callback is invoked by DAL when it has received a Del BSS response from
5306 the underlying device.
5307
5308 PARAMETERS
5309
5310 IN
5311 wdiDelBSSRsp: response parameters received from HAL
5312 pUserData: user data
5313
5314
5315 RETURN VALUE
5316 The result code associated with performing the operation
5317---------------------------------------------------------------------------*/
5318typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5319 void* pUserData);
5320
5321
5322/*---------------------------------------------------------------------------
5323 WDI_StartRspCb
5324
5325 DESCRIPTION
5326
5327 This callback is invoked by DAL when it has received a Post Assoc response
5328 from the underlying device.
5329
5330 PARAMETERS
5331
5332 IN
5333 wdiRspParams: response parameters received from HAL
5334 pUserData: user data
5335
5336
5337 RETURN VALUE
5338 The result code associated with performing the operation
5339---------------------------------------------------------------------------*/
5340typedef void (*WDI_PostAssocRspCb)(
5341 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5342 void* pUserData);
5343
5344
5345/*---------------------------------------------------------------------------
5346 WDI_StartRspCb
5347
5348 DESCRIPTION
5349
5350 This callback is invoked by DAL when it has received a Del STA response from
5351 the underlying device.
5352
5353 PARAMETERS
5354
5355 IN
5356 wdiDelSTARsp: response parameters received from HAL
5357 pUserData: user data
5358
5359
5360 RETURN VALUE
5361 The result code associated with performing the operation
5362---------------------------------------------------------------------------*/
5363typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5364 void* pUserData);
5365
5366
5367
5368/*---------------------------------------------------------------------------
5369 WDI_StartRspCb
5370
5371 DESCRIPTION
5372
5373 This callback is invoked by DAL when it has received a Set BSS Key response
5374 from the underlying device.
5375
5376 PARAMETERS
5377
5378 IN
5379 wdiStatus: response status received from HAL
5380 pUserData: user data
5381
5382
5383
5384 RETURN VALUE
5385 The result code associated with performing the operation
5386---------------------------------------------------------------------------*/
5387typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5388 void* pUserData);
5389
5390/*---------------------------------------------------------------------------
5391 WDI_StartRspCb
5392
5393 DESCRIPTION
5394
5395 This callback is invoked by DAL when it has received a Remove BSS Key
5396 response from the underlying device.
5397
5398 PARAMETERS
5399
5400 IN
5401 wdiStatus: response status received from HAL
5402 pUserData: user data
5403
5404
5405
5406 RETURN VALUE
5407 The result code associated with performing the operation
5408---------------------------------------------------------------------------*/
5409typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5410 void* pUserData);
5411
5412/*---------------------------------------------------------------------------
5413 WDI_StartRspCb
5414
5415 DESCRIPTION
5416
5417 This callback is invoked by DAL when it has received a Set STA Key response
5418 from the underlying device.
5419
5420 PARAMETERS
5421
5422 IN
5423 wdiStatus: response status received from HAL
5424 pUserData: user data
5425
5426
5427
5428 RETURN VALUE
5429 The result code associated with performing the operation
5430---------------------------------------------------------------------------*/
5431typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5432 void* pUserData);
5433
5434
5435/*---------------------------------------------------------------------------
5436 WDI_StartRspCb
5437
5438 DESCRIPTION
5439
5440 This callback is invoked by DAL when it has received a Remove STA Key
5441 response from the underlying device.
5442
5443 PARAMETERS
5444
5445 IN
5446 wdiStatus: response status received from HAL
5447 pUserData: user data
5448
5449
5450
5451 RETURN VALUE
5452 The result code associated with performing the operation
5453---------------------------------------------------------------------------*/
5454typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5455 void* pUserData);
5456
5457
5458#ifdef FEATURE_WLAN_CCX
5459/*---------------------------------------------------------------------------
5460 WDI_TsmRspCb
5461
5462 DESCRIPTION
5463
5464 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5465
5466 PARAMETERS
5467
5468 IN
5469 pTSMStats: response status received from HAL
5470 pUserData: user data
5471
5472
5473
5474 RETURN VALUE
5475 The result code associated with performing the operation
5476---------------------------------------------------------------------------*/
5477typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5478 void* pUserData);
5479#endif
5480
5481/*---------------------------------------------------------------------------
5482 WDI_StartRspCb
5483
5484 DESCRIPTION
5485
5486 This callback is invoked by DAL when it has received a Add TS response from
5487 the underlying device.
5488
5489 PARAMETERS
5490
5491 IN
5492 wdiStatus: response status received from HAL
5493 pUserData: user data
5494
5495
5496
5497 RETURN VALUE
5498 The result code associated with performing the operation
5499---------------------------------------------------------------------------*/
5500typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5501 void* pUserData);
5502
5503/*---------------------------------------------------------------------------
5504 WDI_StartRspCb
5505
5506 DESCRIPTION
5507
5508 This callback is invoked by DAL when it has received a Del TS response from
5509 the underlying device.
5510
5511 PARAMETERS
5512
5513 IN
5514 wdiStatus: response status received from HAL
5515 pUserData: user data
5516
5517
5518
5519 RETURN VALUE
5520 The result code associated with performing the operation
5521---------------------------------------------------------------------------*/
5522typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5523 void* pUserData);
5524
5525/*---------------------------------------------------------------------------
5526 WDI_StartRspCb
5527
5528 DESCRIPTION
5529
5530 This callback is invoked by DAL when it has received an Update EDCA Params
5531 response from the underlying device.
5532
5533 PARAMETERS
5534
5535 IN
5536 wdiStatus: response status received from HAL
5537 pUserData: user data
5538
5539
5540
5541 RETURN VALUE
5542 The result code associated with performing the operation
5543---------------------------------------------------------------------------*/
5544typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5545 void* pUserData);
5546
5547/*---------------------------------------------------------------------------
5548 WDI_StartRspCb
5549
5550 DESCRIPTION
5551
5552 This callback is invoked by DAL when it has received a Add BA response from
5553 the underlying device.
5554
5555 PARAMETERS
5556
5557 IN
5558 wdiStatus: response status received from HAL
5559 pUserData: user data
5560
5561
5562
5563 RETURN VALUE
5564 The result code associated with performing the operation
5565---------------------------------------------------------------------------*/
5566typedef void (*WDI_AddBASessionRspCb)(
5567 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5568 void* pUserData);
5569
5570
5571/*---------------------------------------------------------------------------
5572 WDI_StartRspCb
5573
5574 DESCRIPTION
5575
5576 This callback is invoked by DAL when it has received a Del BA response from
5577 the underlying device.
5578
5579 PARAMETERS
5580
5581 IN
5582 wdiStatus: response status received from HAL
5583 pUserData: user data
5584
5585
5586
5587 RETURN VALUE
5588 The result code associated with performing the operation
5589---------------------------------------------------------------------------*/
5590typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5591 void* pUserData);
5592
5593
5594/*---------------------------------------------------------------------------
5595 WDI_StartRspCb
5596
5597 DESCRIPTION
5598
5599 This callback is invoked by DAL when it has received a Switch Ch response
5600 from the underlying device.
5601
5602 PARAMETERS
5603
5604 IN
5605 wdiRspParams: response parameters received from HAL
5606 pUserData: user data
5607
5608
5609 RETURN VALUE
5610 The result code associated with performing the operation
5611---------------------------------------------------------------------------*/
5612typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5613 void* pUserData);
5614
5615
5616/*---------------------------------------------------------------------------
5617 WDI_StartRspCb
5618
5619 DESCRIPTION
5620
5621 This callback is invoked by DAL when it has received a Config STA response
5622 from the underlying device.
5623
5624 PARAMETERS
5625
5626 IN
5627 wdiRspParams: response parameters received from HAL
5628 pUserData: user data
5629
5630
5631 RETURN VALUE
5632 The result code associated with performing the operation
5633---------------------------------------------------------------------------*/
5634typedef void (*WDI_ConfigSTARspCb)(
5635 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5636 void* pUserData);
5637
5638
5639/*---------------------------------------------------------------------------
5640 WDI_StartRspCb
5641
5642 DESCRIPTION
5643
5644 This callback is invoked by DAL when it has received a Set Link State
5645 response from the underlying device.
5646
5647 PARAMETERS
5648
5649 IN
5650 wdiRspParams: response parameters received from HAL
5651 pUserData: user data
5652
5653
5654 RETURN VALUE
5655 The result code associated with performing the operation
5656---------------------------------------------------------------------------*/
5657typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
5658 void* pUserData);
5659
5660
5661/*---------------------------------------------------------------------------
5662 WDI_StartRspCb
5663
5664 DESCRIPTION
5665
5666 This callback is invoked by DAL when it has received a Get Stats response
5667 from the underlying device.
5668
5669 PARAMETERS
5670
5671 IN
5672 wdiRspParams: response parameters received from HAL
5673 pUserData: user data
5674
5675
5676 RETURN VALUE
5677 The result code associated with performing the operation
5678---------------------------------------------------------------------------*/
5679typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5680 void* pUserData);
5681
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08005682#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
5683/*---------------------------------------------------------------------------
5684 WDI_GetRoamRssiRspCb
5685
5686 DESCRIPTION
5687
5688 This callback is invoked by DAL when it has received a Get Roam Rssi response
5689 from the underlying device.
5690
5691 PARAMETERS
5692
5693 IN
5694 wdiRspParams: response parameters received from HAL
5695 pUserData: user data
5696
5697
5698 RETURN VALUE
5699 The result code associated with performing the operation
5700---------------------------------------------------------------------------*/
5701typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
5702 void* pUserData);
5703#endif
5704
Jeff Johnson295189b2012-06-20 16:38:30 -07005705
5706/*---------------------------------------------------------------------------
5707 WDI_StartRspCb
5708
5709 DESCRIPTION
5710
5711 This callback is invoked by DAL when it has received a Update Cfg response
5712 from the underlying device.
5713
5714 PARAMETERS
5715
5716 IN
5717 wdiStatus: response status received from HAL
5718 pUserData: user data
5719
5720
5721 RETURN VALUE
5722 The result code associated with performing the operation
5723---------------------------------------------------------------------------*/
5724typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
5725 void* pUserData);
5726
5727/*---------------------------------------------------------------------------
5728 WDI_AddBARspCb
5729
5730 DESCRIPTION
5731
5732 This callback is invoked by DAL when it has received a ADD BA response
5733 from the underlying device.
5734
5735 PARAMETERS
5736
5737 IN
5738 wdiStatus: response status received from HAL
5739 pUserData: user data
5740
5741
5742 RETURN VALUE
5743 The result code associated with performing the operation
5744---------------------------------------------------------------------------*/
5745typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
5746 void* pUserData);
5747
5748/*---------------------------------------------------------------------------
5749 WDI_TriggerBARspCb
5750
5751 DESCRIPTION
5752
5753 This callback is invoked by DAL when it has received a ADD BA response
5754 from the underlying device.
5755
5756 PARAMETERS
5757
5758 IN
5759 wdiStatus: response status received from HAL
5760 pUserData: user data
5761
5762
5763 RETURN VALUE
5764 The result code associated with performing the operation
5765---------------------------------------------------------------------------*/
5766typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
5767 void* pUserData);
5768
5769
5770/*---------------------------------------------------------------------------
5771 WDI_UpdateBeaconParamsRspCb
5772
5773 DESCRIPTION
5774
5775 This callback is invoked by DAL when it has received a Update Beacon Params response from
5776 the underlying device.
5777
5778 PARAMETERS
5779
5780 IN
5781 wdiStatus: response status received from HAL
5782 pUserData: user data
5783
5784
5785
5786 RETURN VALUE
5787 The result code associated with performing the operation
5788---------------------------------------------------------------------------*/
5789typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
5790 void* pUserData);
5791
5792/*---------------------------------------------------------------------------
5793 WDI_SendBeaconParamsRspCb
5794
5795 DESCRIPTION
5796
5797 This callback is invoked by DAL when it has received a Send Beacon Params response from
5798 the underlying device.
5799
5800 PARAMETERS
5801
5802 IN
5803 wdiStatus: response status received from HAL
5804 pUserData: user data
5805
5806
5807
5808 RETURN VALUE
5809 The result code associated with performing the operation
5810---------------------------------------------------------------------------*/
5811typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
5812 void* pUserData);
5813
5814/*---------------------------------------------------------------------------
5815 WDA_SetMaxTxPowerRspCb
5816
5817 DESCRIPTION
5818
5819 This callback is invoked by DAL when it has received a set max Tx Power response from
5820 the underlying device.
5821
5822 PARAMETERS
5823
5824 IN
5825 wdiStatus: response status received from HAL
5826 pUserData: user data
5827
5828
5829
5830 RETURN VALUE
5831 The result code associated with performing the operation
5832---------------------------------------------------------------------------*/
5833typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
5834 void* pUserData);
5835
5836/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07005837 WDA_SetTxPowerRspCb
5838
5839 DESCRIPTION
5840
5841 This callback is invoked by DAL when it has received a set max Tx Power response from
5842 the underlying device.
5843
5844 PARAMETERS
5845
5846 IN
5847 wdiStatus: response status received from HAL
5848 pUserData: user data
5849
5850 RETURN VALUE
5851 The result code associated with performing the operation
5852---------------------------------------------------------------------------*/
5853typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
5854 void* pUserData);
5855
5856/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005857 WDI_UpdateProbeRspTemplateRspCb
5858
5859 DESCRIPTION
5860
5861 This callback is invoked by DAL when it has received a Probe RSP Template
5862 Update response from the underlying device.
5863
5864 PARAMETERS
5865
5866 IN
5867 wdiStatus: response status received from HAL
5868 pUserData: user data
5869
5870
5871
5872 RETURN VALUE
5873 The result code associated with performing the operation
5874---------------------------------------------------------------------------*/
5875typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
5876 void* pUserData);
5877
Jeff Johnson295189b2012-06-20 16:38:30 -07005878/*---------------------------------------------------------------------------
5879 WDI_SetP2PGONOAReqParamsRspCb
5880
5881 DESCRIPTION
5882
5883 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
5884 the underlying device.
5885
5886 PARAMETERS
5887
5888 IN
5889 wdiStatus: response status received from HAL
5890 pUserData: user data
5891
5892
5893
5894 RETURN VALUE
5895 The result code associated with performing the operation
5896---------------------------------------------------------------------------*/
5897typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
5898 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07005899
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05305900/*---------------------------------------------------------------------------
5901 WDI_SetTDLSLinkEstablishReqParamsRspCb
5902
5903 DESCRIPTION
5904
5905 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
5906 the underlying device.
5907
5908 PARAMETERS
5909
5910 IN
5911 wdiStatus: response status received from HAL
5912 pUserData: user data
5913
5914
5915
5916 RETURN VALUE
5917 The result code associated with performing the operation
5918---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05305919typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
5920 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05305921 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07005922
5923/*---------------------------------------------------------------------------
5924 WDI_SetPwrSaveCfgCb
5925
5926 DESCRIPTION
5927
5928 This callback is invoked by DAL when it has received a set Power Save CFG
5929 response from the underlying device.
5930
5931 PARAMETERS
5932
5933 IN
5934 wdiStatus: response status received from HAL
5935 pUserData: user data
5936
5937
5938
5939 RETURN VALUE
5940 The result code associated with performing the operation
5941---------------------------------------------------------------------------*/
5942typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
5943 void* pUserData);
5944
5945/*---------------------------------------------------------------------------
5946 WDI_SetUapsdAcParamsCb
5947
5948 DESCRIPTION
5949
5950 This callback is invoked by DAL when it has received a set UAPSD params
5951 response from the underlying device.
5952
5953 PARAMETERS
5954
5955 IN
5956 wdiStatus: response status received from HAL
5957 pUserData: user data
5958
5959
5960
5961 RETURN VALUE
5962 The result code associated with performing the operation
5963---------------------------------------------------------------------------*/
5964typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
5965 void* pUserData);
5966
5967/*---------------------------------------------------------------------------
5968 WDI_EnterImpsRspCb
5969
5970 DESCRIPTION
5971
5972 This callback is invoked by DAL when it has received a Enter IMPS response
5973 from the underlying device.
5974
5975 PARAMETERS
5976
5977 IN
5978 wdiStatus: response status received from HAL
5979 pUserData: user data
5980
5981
5982
5983 RETURN VALUE
5984 The result code associated with performing the operation
5985---------------------------------------------------------------------------*/
5986typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
5987 void* pUserData);
5988
5989/*---------------------------------------------------------------------------
5990 WDI_ExitImpsRspCb
5991
5992 DESCRIPTION
5993
5994 This callback is invoked by DAL when it has received a Exit IMPS response
5995 from the underlying device.
5996
5997 PARAMETERS
5998
5999 IN
6000 wdiStatus: response status received from HAL
6001 pUserData: user data
6002
6003
6004
6005 RETURN VALUE
6006 The result code associated with performing the operation
6007---------------------------------------------------------------------------*/
6008typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6009 void* pUserData);
6010
6011/*---------------------------------------------------------------------------
6012 WDI_EnterBmpsRspCb
6013
6014 DESCRIPTION
6015
6016 This callback is invoked by DAL when it has received a enter BMPS response
6017 from the underlying device.
6018
6019 PARAMETERS
6020
6021 IN
6022 wdiStatus: response status received from HAL
6023 pUserData: user data
6024
6025
6026
6027 RETURN VALUE
6028 The result code associated with performing the operation
6029---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006030typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006031 void* pUserData);
6032
6033/*---------------------------------------------------------------------------
6034 WDI_ExitBmpsRspCb
6035
6036 DESCRIPTION
6037
6038 This callback is invoked by DAL when it has received a exit BMPS response
6039 from the underlying device.
6040
6041 PARAMETERS
6042
6043 IN
6044 wdiStatus: response status received from HAL
6045 pUserData: user data
6046
6047
6048
6049 RETURN VALUE
6050 The result code associated with performing the operation
6051---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006052typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006053 void* pUserData);
6054
6055/*---------------------------------------------------------------------------
6056 WDI_EnterUapsdRspCb
6057
6058 DESCRIPTION
6059
6060 This callback is invoked by DAL when it has received a enter UAPSD response
6061 from the underlying device.
6062
6063 PARAMETERS
6064
6065 IN
6066 wdiStatus: response status received from HAL
6067 pUserData: user data
6068
6069
6070
6071 RETURN VALUE
6072 The result code associated with performing the operation
6073---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006074typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006075 void* pUserData);
6076
6077/*---------------------------------------------------------------------------
6078 WDI_ExitUapsdRspCb
6079
6080 DESCRIPTION
6081
6082 This callback is invoked by DAL when it has received a exit UAPSD response
6083 from the underlying device.
6084
6085 PARAMETERS
6086
6087 IN
6088 wdiStatus: response status received from HAL
6089 pUserData: user data
6090
6091
6092
6093 RETURN VALUE
6094 The result code associated with performing the operation
6095---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006096typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006097 void* pUserData);
6098
6099/*---------------------------------------------------------------------------
6100 WDI_UpdateUapsdParamsCb
6101
6102 DESCRIPTION
6103
6104 This callback is invoked by DAL when it has received a update UAPSD params
6105 response from the underlying device.
6106
6107 PARAMETERS
6108
6109 IN
6110 wdiStatus: response status received from HAL
6111 pUserData: user data
6112
6113
6114
6115 RETURN VALUE
6116 The result code associated with performing the operation
6117---------------------------------------------------------------------------*/
6118typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6119 void* pUserData);
6120
6121/*---------------------------------------------------------------------------
6122 WDI_ConfigureRxpFilterCb
6123
6124 DESCRIPTION
6125
6126 This callback is invoked by DAL when it has received a config RXP filter
6127 response from the underlying device.
6128
6129 PARAMETERS
6130
6131 IN
6132 wdiStatus: response status received from HAL
6133 pUserData: user data
6134
6135
6136
6137 RETURN VALUE
6138 The result code associated with performing the operation
6139---------------------------------------------------------------------------*/
6140typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6141 void* pUserData);
6142
6143/*---------------------------------------------------------------------------
6144 WDI_SetBeaconFilterCb
6145
6146 DESCRIPTION
6147
6148 This callback is invoked by DAL when it has received a set beacon filter
6149 response from the underlying device.
6150
6151 PARAMETERS
6152
6153 IN
6154 wdiStatus: response status received from HAL
6155 pUserData: user data
6156
6157
6158
6159 RETURN VALUE
6160 The result code associated with performing the operation
6161---------------------------------------------------------------------------*/
6162typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6163 void* pUserData);
6164
6165/*---------------------------------------------------------------------------
6166 WDI_RemBeaconFilterCb
6167
6168 DESCRIPTION
6169
6170 This callback is invoked by DAL when it has received a remove beacon filter
6171 response from the underlying device.
6172
6173 PARAMETERS
6174
6175 IN
6176 wdiStatus: response status received from HAL
6177 pUserData: user data
6178
6179
6180
6181 RETURN VALUE
6182 The result code associated with performing the operation
6183---------------------------------------------------------------------------*/
6184typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6185 void* pUserData);
6186
6187/*---------------------------------------------------------------------------
6188 WDI_SetRSSIThresholdsCb
6189
6190 DESCRIPTION
6191
6192 This callback is invoked by DAL when it has received a set RSSI thresholds
6193 response from the underlying device.
6194
6195 PARAMETERS
6196
6197 IN
6198 wdiStatus: response status received from HAL
6199 pUserData: user data
6200
6201
6202
6203 RETURN VALUE
6204 The result code associated with performing the operation
6205---------------------------------------------------------------------------*/
6206typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6207 void* pUserData);
6208
6209/*---------------------------------------------------------------------------
6210 WDI_HostOffloadCb
6211
6212 DESCRIPTION
6213
6214 This callback is invoked by DAL when it has received a host offload
6215 response from the underlying device.
6216
6217 PARAMETERS
6218
6219 IN
6220 wdiStatus: response status received from HAL
6221 pUserData: user data
6222
6223
6224
6225 RETURN VALUE
6226 The result code associated with performing the operation
6227---------------------------------------------------------------------------*/
6228typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6229 void* pUserData);
6230
6231/*---------------------------------------------------------------------------
6232 WDI_KeepAliveCb
6233
6234 DESCRIPTION
6235
6236 This callback is invoked by DAL when it has received a Keep Alive
6237 response from the underlying device.
6238
6239 PARAMETERS
6240
6241 IN
6242 wdiStatus: response status received from HAL
6243 pUserData: user data
6244
6245
6246
6247 RETURN VALUE
6248 The result code associated with performing the operation
6249---------------------------------------------------------------------------*/
6250typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6251 void* pUserData);
6252
6253/*---------------------------------------------------------------------------
6254 WDI_WowlAddBcPtrnCb
6255
6256 DESCRIPTION
6257
6258 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6259 response 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---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006272typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006273 void* pUserData);
6274
6275/*---------------------------------------------------------------------------
6276 WDI_WowlDelBcPtrnCb
6277
6278 DESCRIPTION
6279
6280 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
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---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006294typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006295 void* pUserData);
6296
6297/*---------------------------------------------------------------------------
6298 WDI_WowlEnterReqCb
6299
6300 DESCRIPTION
6301
6302 This callback is invoked by DAL when it has received a Wowl enter
6303 response from the underlying device.
6304
6305 PARAMETERS
6306
6307 IN
6308 wdiStatus: response status received from HAL
6309 pUserData: user data
6310
6311
6312
6313 RETURN VALUE
6314 The result code associated with performing the operation
6315---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006316typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6317 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006318
6319/*---------------------------------------------------------------------------
6320 WDI_WowlExitReqCb
6321
6322 DESCRIPTION
6323
6324 This callback is invoked by DAL when it has received a Wowl exit
6325 response from the underlying device.
6326
6327 PARAMETERS
6328
6329 IN
6330 wdiStatus: response status received from HAL
6331 pUserData: user data
6332
6333
6334
6335 RETURN VALUE
6336 The result code associated with performing the operation
6337---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006338typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006339 void* pUserData);
6340
6341/*---------------------------------------------------------------------------
6342 WDI_ConfigureAppsCpuWakeupStateCb
6343
6344 DESCRIPTION
6345
6346 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6347 State response from the underlying device.
6348
6349 PARAMETERS
6350
6351 IN
6352 wdiStatus: response status received from HAL
6353 pUserData: user data
6354
6355
6356
6357 RETURN VALUE
6358 The result code associated with performing the operation
6359---------------------------------------------------------------------------*/
6360typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6361 void* pUserData);
6362/*---------------------------------------------------------------------------
6363 WDI_NvDownloadRspCb
6364
6365 DESCRIPTION
6366
6367 This callback is invoked by DAL when it has received a NV Download response
6368 from the underlying device.
6369
6370 PARAMETERS
6371
6372 IN
6373 wdiStatus:response status received from HAL
6374 pUserData:user data
6375
6376 RETURN VALUE
6377 The result code associated with performing the operation
6378---------------------------------------------------------------------------*/
6379typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6380 void* pUserData);
6381/*---------------------------------------------------------------------------
6382 WDI_FlushAcRspCb
6383
6384 DESCRIPTION
6385
6386 This callback is invoked by DAL when it has received a Flush AC response from
6387 the underlying device.
6388
6389 PARAMETERS
6390
6391 IN
6392 wdiStatus: response status received from HAL
6393 pUserData: user data
6394
6395
6396
6397 RETURN VALUE
6398 The result code associated with performing the operation
6399---------------------------------------------------------------------------*/
6400typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6401 void* pUserData);
6402
6403/*---------------------------------------------------------------------------
6404 WDI_BtAmpEventRspCb
6405
6406 DESCRIPTION
6407
6408 This callback is invoked by DAL when it has received a Bt AMP event response
6409 from the underlying device.
6410
6411 PARAMETERS
6412
6413 IN
6414 wdiStatus: response status received from HAL
6415 pUserData: user data
6416
6417
6418
6419 RETURN VALUE
6420 The result code associated with performing the operation
6421---------------------------------------------------------------------------*/
6422typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6423 void* pUserData);
6424
Jeff Johnsone7245742012-09-05 17:12:55 -07006425#ifdef FEATURE_OEM_DATA_SUPPORT
6426/*---------------------------------------------------------------------------
6427 WDI_oemDataRspCb
6428
6429 DESCRIPTION
6430
6431 This callback is invoked by DAL when it has received a Start oem data response from
6432 the underlying device.
6433
6434 PARAMETERS
6435
6436 IN
6437 wdiStatus: response status received from HAL
6438 pUserData: user data
6439
6440
6441
6442 RETURN VALUE
6443 The result code associated with performing the operation
6444---------------------------------------------------------------------------*/
6445typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6446 void* pUserData);
6447
6448#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006449
6450/*---------------------------------------------------------------------------
6451 WDI_HostResumeEventRspCb
6452
6453 DESCRIPTION
6454
6455 This callback is invoked by DAL when it has received a Bt AMP event response
6456 from the underlying device.
6457
6458 PARAMETERS
6459
6460 IN
6461 wdiStatus: response status received from HAL
6462 pUserData: user data
6463
6464
6465
6466 RETURN VALUE
6467 The result code associated with performing the operation
6468---------------------------------------------------------------------------*/
6469typedef void (*WDI_HostResumeEventRspCb)(
6470 WDI_SuspendResumeRspParamsType *resumeRspParams,
6471 void* pUserData);
6472
6473
6474#ifdef WLAN_FEATURE_VOWIFI_11R
6475/*---------------------------------------------------------------------------
6476 WDI_AggrAddTsRspCb
6477
6478 DESCRIPTION
6479
6480 This callback is invoked by DAL when it has received a Aggregated Add TS
6481 response from the underlying device.
6482
6483 PARAMETERS
6484
6485 IN
6486 wdiStatus: response status received from HAL
6487 pUserData: user data
6488
6489
6490
6491 RETURN VALUE
6492 The result code associated with performing the operation
6493---------------------------------------------------------------------------*/
6494typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6495 void* pUserData);
6496#endif /* WLAN_FEATURE_VOWIFI_11R */
6497
Jeff Johnson295189b2012-06-20 16:38:30 -07006498/*---------------------------------------------------------------------------
6499 WDI_FTMCommandRspCb
6500
6501 DESCRIPTION
6502
6503 FTM Command response CB
6504
6505 PARAMETERS
6506
6507 IN
6508 ftmCMDRspdata: FTM response data from HAL
6509 pUserData: user data
6510
6511
6512 RETURN VALUE
6513 NONE
6514---------------------------------------------------------------------------*/
6515typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6516 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006517
6518/*---------------------------------------------------------------------------
6519 WDI_AddSTASelfParamsRspCb
6520
6521 DESCRIPTION
6522
6523 This callback is invoked by DAL when it has received a Add Sta Self Params
6524 response from the underlying device.
6525
6526 PARAMETERS
6527
6528 IN
6529 wdiAddSelfSTARsp: response status received from HAL
6530 pUserData: user data
6531
6532
6533
6534 RETURN VALUE
6535 The result code associated with performing the operation
6536---------------------------------------------------------------------------*/
6537typedef void (*WDI_AddSTASelfParamsRspCb)(
6538 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6539 void* pUserData);
6540
6541
6542/*---------------------------------------------------------------------------
6543 WDI_DelSTASelfRspCb
6544
6545 DESCRIPTION
6546
6547 This callback is invoked by DAL when it has received a host offload
6548 response from the underlying device.
6549
6550 PARAMETERS
6551
6552 IN
6553 wdiStatus: response status received from HAL
6554 pUserData: user data
6555
6556
6557
6558 RETURN VALUE
6559 The result code associated with performing the operation
6560---------------------------------------------------------------------------*/
6561typedef void (*WDI_DelSTASelfRspCb)
6562(
6563WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6564void* pUserData
6565);
6566
6567#ifdef FEATURE_WLAN_SCAN_PNO
6568/*---------------------------------------------------------------------------
6569 WDI_PNOScanCb
6570
6571 DESCRIPTION
6572
6573 This callback is invoked by DAL when it has received a Set PNO
6574 response from the underlying device.
6575
6576 PARAMETERS
6577
6578 IN
6579 wdiStatus: response status received from HAL
6580 pUserData: user data
6581
6582
6583
6584 RETURN VALUE
6585 The result code associated with performing the operation
6586---------------------------------------------------------------------------*/
6587typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6588 void* pUserData);
6589
6590/*---------------------------------------------------------------------------
6591 WDI_PNOScanCb
6592
6593 DESCRIPTION
6594
6595 This callback is invoked by DAL when it has received a Set PNO
6596 response from the underlying device.
6597
6598 PARAMETERS
6599
6600 IN
6601 wdiStatus: response status received from HAL
6602 pUserData: user data
6603
6604
6605
6606 RETURN VALUE
6607 The result code associated with performing the operation
6608---------------------------------------------------------------------------*/
6609typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6610 void* pUserData);
6611
6612/*---------------------------------------------------------------------------
6613 WDI_UpdateScanParamsCb
6614
6615 DESCRIPTION
6616
6617 This callback is invoked by DAL when it has received a Update Scan Params
6618 response from the underlying device.
6619
6620 PARAMETERS
6621
6622 IN
6623 wdiStatus: response status received from HAL
6624 pUserData: user data
6625
6626
6627
6628 RETURN VALUE
6629 The result code associated with performing the operation
6630---------------------------------------------------------------------------*/
6631typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
6632 void* pUserData);
6633#endif // FEATURE_WLAN_SCAN_PNO
6634
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07006635#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
6636/*---------------------------------------------------------------------------
6637 WDI_RoamOffloadScanCb
6638
6639 DESCRIPTION
6640
6641 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
6642 response from the underlying device.
6643
6644 PARAMETERS
6645
6646 IN
6647 wdiStatus: response status received from HAL
6648 pUserData: user data
6649
6650
6651
6652 RETURN VALUE
6653 The result code associated with performing the operation
6654---------------------------------------------------------------------------*/
6655typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
6656 void* pUserData);
6657
6658#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006659/*---------------------------------------------------------------------------
6660 WDI_SetTxPerTrackingRspCb
6661
6662 DESCRIPTION
6663
6664 This callback is invoked by DAL when it has received a Tx PER Tracking
6665 response from the underlying device.
6666
6667 PARAMETERS
6668
6669 IN
6670 wdiStatus: response status received from HAL
6671 pUserData: user data
6672
6673
6674
6675 RETURN VALUE
6676 The result code associated with performing the operation
6677---------------------------------------------------------------------------*/
6678typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
6679 void* pUserData);
6680
6681#ifdef WLAN_FEATURE_PACKET_FILTERING
6682/*---------------------------------------------------------------------------
6683 WDI_8023MulticastListCb
6684
6685 DESCRIPTION
6686
6687 This callback is invoked by DAL when it has received a 8023 Multicast List
6688 response from the underlying device.
6689
6690 PARAMETERS
6691
6692 IN
6693 wdiStatus: response status received from HAL
6694 pUserData: user data
6695
6696
6697
6698 RETURN VALUE
6699 The result code associated with performing the operation
6700---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006701typedef void (*WDI_8023MulticastListCb)(
6702 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
6703 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006704
6705/*---------------------------------------------------------------------------
6706 WDI_ReceiveFilterSetFilterCb
6707
6708 DESCRIPTION
6709
6710 This callback is invoked by DAL when it has received a Receive Filter Set Filter
6711 response from the underlying device.
6712
6713 PARAMETERS
6714
6715 IN
6716 wdiStatus: response status received from HAL
6717 pUserData: user data
6718
6719
6720
6721 RETURN VALUE
6722 The result code associated with performing the operation
6723---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006724typedef void (*WDI_ReceiveFilterSetFilterCb)(
6725 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
6726 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006727
6728/*---------------------------------------------------------------------------
6729 WDI_FilterMatchCountCb
6730
6731 DESCRIPTION
6732
6733 This callback is invoked by DAL when it has received a Do PC Filter Match Count
6734 response from the underlying device.
6735
6736 PARAMETERS
6737
6738 IN
6739 wdiStatus: response status received from HAL
6740 pUserData: user data
6741
6742
6743
6744 RETURN VALUE
6745 The result code associated with performing the operation
6746---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006747typedef void (*WDI_FilterMatchCountCb)(
6748 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
6749 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006750
6751/*---------------------------------------------------------------------------
6752 WDI_ReceiveFilterClearFilterCb
6753
6754 DESCRIPTION
6755
6756 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
6757 response from the underlying device.
6758
6759 PARAMETERS
6760
6761 IN
6762 wdiStatus: response status received from HAL
6763 pUserData: user data
6764
6765
6766
6767 RETURN VALUE
6768 The result code associated with performing the operation
6769---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006770typedef void (*WDI_ReceiveFilterClearFilterCb)(
6771 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
6772 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006773#endif // WLAN_FEATURE_PACKET_FILTERING
6774
6775/*---------------------------------------------------------------------------
6776 WDI_HALDumpCmdRspCb
6777
6778 DESCRIPTION
6779
6780 This callback is invoked by DAL when it has received a HAL DUMP Command
6781response from
6782 the HAL layer.
6783
6784 PARAMETERS
6785
6786 IN
6787 wdiHalDumpCmdRsp: response status received from HAL
6788 pUserData: user data
6789
6790
6791
6792 RETURN VALUE
6793 The result code associated with performing the operation
6794---------------------------------------------------------------------------*/
6795typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
6796 void* pUserData);
6797
6798/*---------------------------------------------------------------------------
6799 WDI_SetPowerParamsCb
6800
6801 DESCRIPTION
6802
6803 This callback is invoked by DAL when it has received a Set Power Param
6804 response from the underlying device.
6805
6806 PARAMETERS
6807
6808 IN
6809 wdiStatus: response status received from HAL
6810 pUserData: user data
6811
6812
6813
6814 RETURN VALUE
6815 The result code associated with performing the operation
6816---------------------------------------------------------------------------*/
6817typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
6818 void* pUserData);
6819
6820#ifdef WLAN_FEATURE_GTK_OFFLOAD
6821/*---------------------------------------------------------------------------
6822 WDI_GtkOffloadCb
6823
6824 DESCRIPTION
6825
6826 This callback is invoked by DAL when it has received a GTK offload
6827 response from the underlying device.
6828
6829 PARAMETERS
6830
6831 IN
6832 wdiStatus: response status received from HAL
6833 pUserData: user data
6834
6835
6836
6837 RETURN VALUE
6838 The result code associated with performing the operation
6839---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006840typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006841 void* pUserData);
6842
6843/*---------------------------------------------------------------------------
6844 WDI_GtkOffloadGetInfoCb
6845
6846 DESCRIPTION
6847
6848 This callback is invoked by DAL when it has received a GTK offload
6849 information response from the underlying device.
6850
6851 PARAMETERS
6852
6853 IN
6854 wdiStatus: response status received from HAL
6855 pUserData: user data
6856
6857
6858
6859 RETURN VALUE
6860 The result code associated with performing the operation
6861---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006862typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006863 void* pUserData);
6864#endif // WLAN_FEATURE_GTK_OFFLOAD
6865
6866/*---------------------------------------------------------------------------
6867 WDI_SetTmLevelCb
6868
6869 DESCRIPTION
6870
6871 This callback is invoked by DAL when it has received a Set New TM Level
6872 done response from the underlying device.
6873
6874 PARAMETERS
6875
6876 IN
6877 wdiStatus: response status received from HAL
6878 pUserData: user data
6879
6880
6881
6882 RETURN VALUE
6883 The result code associated with performing the operation
6884---------------------------------------------------------------------------*/
6885typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
6886 void* pUserData);
6887
6888/*---------------------------------------------------------------------------
6889 WDI_featureCapsExchangeCb
6890
6891 DESCRIPTION
6892
6893 This callback is invoked by DAL when it has received a HAL Feature Capbility
6894 Exchange Response the HAL layer. This callback is put to mantain code
6895 similarity and is not being used right now.
6896
6897 PARAMETERS
6898
6899 IN
6900 wdiFeatCapRspParams: response parameters received from HAL
6901 pUserData: user data
6902
6903 RETURN VALUE
6904 The result code associated with performing the operation
6905---------------------------------------------------------------------------*/
6906typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
6907 void* pUserData);
6908
Mohit Khanna4a70d262012-09-11 16:30:12 -07006909#ifdef WLAN_FEATURE_11AC
6910typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
6911 void* pUserData);
6912#endif
6913
Leo Chang9056f462013-08-01 19:21:11 -07006914#ifdef FEATURE_WLAN_LPHB
6915typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
6916 void* pUserData);
6917#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07006918
Jeff Johnson295189b2012-06-20 16:38:30 -07006919/*========================================================================
6920 * Function Declarations and Documentation
6921 ==========================================================================*/
6922
6923/*========================================================================
6924
6925 INITIALIZATION APIs
6926
6927==========================================================================*/
6928
6929/**
6930 @brief WDI_Init is used to initialize the DAL.
6931
6932 DAL will allocate all the resources it needs. It will open PAL, it will also
6933 open both the data and the control transport which in their turn will open
6934 DXE/SMD or any other drivers that they need.
6935
6936 @param pOSContext: pointer to the OS context provided by the UMAC
6937 will be passed on to PAL on Open
6938 ppWDIGlobalCtx: output pointer of Global Context
6939 pWdiDevCapability: output pointer of device capability
6940
6941 @return Result of the function call
6942*/
6943WDI_Status
6944WDI_Init
6945(
6946 void* pOSContext,
6947 void** ppWDIGlobalCtx,
6948 WDI_DeviceCapabilityType* pWdiDevCapability,
6949 unsigned int driverType
6950);
6951
6952/**
6953 @brief WDI_Start will be called when the upper MAC is ready to
6954 commence operation with the WLAN Device. Upon the call
6955 of this API the WLAN DAL will pack and send a HAL Start
6956 message to the lower RIVA sub-system if the SMD channel
6957 has been fully opened and the RIVA subsystem is up.
6958
6959 If the RIVA sub-system is not yet up and running DAL
6960 will queue the request for Open and will wait for the
6961 SMD notification before attempting to send down the
6962 message to HAL.
6963
6964 WDI_Init must have been called.
6965
6966 @param wdiStartParams: the start parameters as specified by
6967 the Device Interface
6968
6969 wdiStartRspCb: callback for passing back the response of
6970 the start operation received from the device
6971
6972 pUserData: user data will be passed back with the
6973 callback
6974
6975 @see WDI_Start
6976 @return Result of the function call
6977*/
6978WDI_Status
6979WDI_Start
6980(
6981 WDI_StartReqParamsType* pwdiStartParams,
6982 WDI_StartRspCb wdiStartRspCb,
6983 void* pUserData
6984);
6985
6986
6987/**
6988 @brief WDI_Stop will be called when the upper MAC is ready to
6989 stop any operation with the WLAN Device. Upon the call
6990 of this API the WLAN DAL will pack and send a HAL Stop
6991 message to the lower RIVA sub-system if the DAL Core is
6992 in started state.
6993
6994 In state BUSY this request will be queued.
6995
6996 Request will not be accepted in any other state.
6997
6998 WDI_Start must have been called.
6999
7000 @param wdiStopParams: the stop parameters as specified by
7001 the Device Interface
7002
7003 wdiStopRspCb: callback for passing back the response of
7004 the stop operation received from the device
7005
7006 pUserData: user data will be passed back with the
7007 callback
7008
7009 @see WDI_Start
7010 @return Result of the function call
7011*/
7012WDI_Status
7013WDI_Stop
7014(
7015 WDI_StopReqParamsType* pwdiStopParams,
7016 WDI_StopRspCb wdiStopRspCb,
7017 void* pUserData
7018);
7019
7020/**
7021 @brief WDI_Close will be called when the upper MAC no longer
7022 needs to interract with DAL. DAL will free its control
7023 block.
7024
7025 It is only accepted in state STOPPED.
7026
7027 WDI_Stop must have been called.
7028
7029 @param none
7030
7031 @see WDI_Stop
7032 @return Result of the function call
7033*/
7034WDI_Status
7035WDI_Close
7036(
7037 void
7038);
7039
7040
7041/**
7042 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7043 This will do most of the WDI stop & close
7044 operations without doing any handshake with Riva
7045
7046 This will also make sure that the control transport
7047 will NOT be closed.
7048
7049 This request will not be queued.
7050
7051
7052 WDI_Start must have been called.
7053
7054 @param closeTransport: Close control channel if this is set
7055
7056 @return Result of the function call
7057*/
7058WDI_Status
7059WDI_Shutdown
7060(
7061 wpt_boolean closeTransport
7062);
7063
7064/*========================================================================
7065
7066 SCAN APIs
7067
7068==========================================================================*/
7069
7070/**
7071 @brief WDI_InitScanReq will be called when the upper MAC wants
7072 the WLAN Device to get ready for a scan procedure. Upon
7073 the call of this API the WLAN DAL will pack and send a
7074 HAL Init Scan request message to the lower RIVA
7075 sub-system if DAL is in state STARTED.
7076
7077 In state BUSY this request will be queued. Request won't
7078 be allowed in any other state.
7079
7080 WDI_Start must have been called.
7081
7082 @param wdiInitScanParams: the init scan parameters as specified
7083 by the Device Interface
7084
7085 wdiInitScanRspCb: callback for passing back the response
7086 of the init scan operation received from the device
7087
7088 pUserData: user data will be passed back with the
7089 callback
7090
7091 @see WDI_Start
7092 @return Result of the function call
7093*/
7094WDI_Status
7095WDI_InitScanReq
7096(
7097 WDI_InitScanReqParamsType* pwdiInitScanParams,
7098 WDI_InitScanRspCb wdiInitScanRspCb,
7099 void* pUserData
7100);
7101
7102/**
7103 @brief WDI_StartScanReq will be called when the upper MAC
7104 wishes to change the Scan channel on the WLAN Device.
7105 Upon the call of this API the WLAN DAL will pack and
7106 send a HAL Start Scan request message to the lower RIVA
7107 sub-system if DAL is in state STARTED.
7108
7109 In state BUSY this request will be queued. Request won't
7110 be allowed in any other state.
7111
7112 WDI_InitScanReq must have been called.
7113
7114 @param wdiStartScanParams: the start scan parameters as
7115 specified by the Device Interface
7116
7117 wdiStartScanRspCb: callback for passing back the
7118 response of the start scan operation received from the
7119 device
7120
7121 pUserData: user data will be passed back with the
7122 callback
7123
7124 @see WDI_InitScanReq
7125 @return Result of the function call
7126*/
7127WDI_Status
7128WDI_StartScanReq
7129(
7130 WDI_StartScanReqParamsType* pwdiStartScanParams,
7131 WDI_StartScanRspCb wdiStartScanRspCb,
7132 void* pUserData
7133);
7134
7135
7136/**
7137 @brief WDI_EndScanReq will be called when the upper MAC is
7138 wants to end scanning for a particular channel that it
7139 had set before by calling Scan Start on the WLAN Device.
7140 Upon the call of this API the WLAN DAL will pack and
7141 send a HAL End Scan request message to the lower RIVA
7142 sub-system if DAL is in state STARTED.
7143
7144 In state BUSY this request will be queued. Request won't
7145 be allowed in any other state.
7146
7147 WDI_StartScanReq must have been called.
7148
7149 @param wdiEndScanParams: the end scan parameters as specified
7150 by the Device Interface
7151
7152 wdiEndScanRspCb: callback for passing back the response
7153 of the end scan operation received from the device
7154
7155 pUserData: user data will be passed back with the
7156 callback
7157
7158 @see WDI_StartScanReq
7159 @return Result of the function call
7160*/
7161WDI_Status
7162WDI_EndScanReq
7163(
7164 WDI_EndScanReqParamsType* pwdiEndScanParams,
7165 WDI_EndScanRspCb wdiEndScanRspCb,
7166 void* pUserData
7167);
7168
7169
7170/**
7171 @brief WDI_FinishScanReq will be called when the upper MAC has
7172 completed the scan process on the WLAN Device. Upon the
7173 call of this API the WLAN DAL will pack and send a HAL
7174 Finish Scan Request request message to the lower RIVA
7175 sub-system if DAL is in state STARTED.
7176
7177 In state BUSY this request will be queued. Request won't
7178 be allowed in any other state.
7179
7180 WDI_InitScanReq must have been called.
7181
7182 @param wdiFinishScanParams: the finish scan parameters as
7183 specified by the Device Interface
7184
7185 wdiFinishScanRspCb: callback for passing back the
7186 response of the finish scan operation received from the
7187 device
7188
7189 pUserData: user data will be passed back with the
7190 callback
7191
7192 @see WDI_InitScanReq
7193 @return Result of the function call
7194*/
7195WDI_Status
7196WDI_FinishScanReq
7197(
7198 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7199 WDI_FinishScanRspCb wdiFinishScanRspCb,
7200 void* pUserData
7201);
7202
7203/*========================================================================
7204
7205 ASSOCIATION APIs
7206
7207==========================================================================*/
7208
7209/**
7210 @brief WDI_JoinReq will be called when the upper MAC is ready
7211 to start an association procedure to a BSS. Upon the
7212 call of this API the WLAN DAL will pack and send a HAL
7213 Join request message to the lower RIVA sub-system if
7214 DAL is in state STARTED.
7215
7216 In state BUSY this request will be queued. Request won't
7217 be allowed in any other state.
7218
7219 WDI_Start must have been called.
7220
7221 @param wdiJoinParams: the join parameters as specified by
7222 the Device Interface
7223
7224 wdiJoinRspCb: callback for passing back the response of
7225 the join operation received from the device
7226
7227 pUserData: user data will be passed back with the
7228 callback
7229
7230 @see WDI_Start
7231 @return Result of the function call
7232*/
7233WDI_Status
7234WDI_JoinReq
7235(
7236 WDI_JoinReqParamsType* pwdiJoinParams,
7237 WDI_JoinRspCb wdiJoinRspCb,
7238 void* pUserData
7239);
7240
7241/**
7242 @brief WDI_ConfigBSSReq will be called when the upper MAC
7243 wishes to configure the newly acquired or in process of
7244 being acquired BSS to the HW . Upon the call of this API
7245 the WLAN DAL will pack and send a HAL Config BSS request
7246 message to the lower RIVA sub-system if DAL is in state
7247 STARTED.
7248
7249 In state BUSY this request will be queued. Request won't
7250 be allowed in any other state.
7251
7252 WDI_JoinReq must have been called.
7253
7254 @param wdiConfigBSSParams: the config BSS parameters as
7255 specified by the Device Interface
7256
7257 wdiConfigBSSRspCb: callback for passing back the
7258 response of the config BSS operation received from the
7259 device
7260
7261 pUserData: user data will be passed back with the
7262 callback
7263
7264 @see WDI_JoinReq
7265 @return Result of the function call
7266*/
7267WDI_Status
7268WDI_ConfigBSSReq
7269(
7270 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7271 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7272 void* pUserData
7273);
7274
7275/**
7276 @brief WDI_DelBSSReq will be called when the upper MAC is
7277 dissasociating from the BSS and wishes to notify HW.
7278 Upon the call of this API the WLAN DAL will pack and
7279 send a HAL Del BSS request message to the lower RIVA
7280 sub-system if DAL is in state STARTED.
7281
7282 In state BUSY this request will be queued. Request won't
7283 be allowed in any other state.
7284
7285 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7286
7287 @param wdiDelBSSParams: the del BSS parameters as specified by
7288 the Device Interface
7289
7290 wdiDelBSSRspCb: callback for passing back the response
7291 of the del bss operation received from the device
7292
7293 pUserData: user data will be passed back with the
7294 callback
7295
7296 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7297 @return Result of the function call
7298*/
7299WDI_Status
7300WDI_DelBSSReq
7301(
7302 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7303 WDI_DelBSSRspCb wdiDelBSSRspCb,
7304 void* pUserData
7305);
7306
7307/**
7308 @brief WDI_PostAssocReq will be called when the upper MAC has
7309 associated to a BSS and wishes to configure HW for
7310 associated state. Upon the call of this API the WLAN DAL
7311 will pack and send a HAL Post Assoc request message to
7312 the lower RIVA sub-system if DAL is in state STARTED.
7313
7314 In state BUSY this request will be queued. Request won't
7315 be allowed in any other state.
7316
7317 WDI_JoinReq must have been called.
7318
7319 @param wdiPostAssocReqParams: the assoc parameters as specified
7320 by the Device Interface
7321
7322 wdiPostAssocRspCb: callback for passing back the
7323 response of the post assoc operation received from the
7324 device
7325
7326 pUserData: user data will be passed back with the
7327 callback
7328
7329 @see WDI_JoinReq
7330 @return Result of the function call
7331*/
7332WDI_Status
7333WDI_PostAssocReq
7334(
7335 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7336 WDI_PostAssocRspCb wdiPostAssocRspCb,
7337 void* pUserData
7338);
7339
7340/**
7341 @brief WDI_DelSTAReq will be called when the upper MAC when an
7342 association with another STA has ended and the station
7343 must be deleted from HW. Upon the call of this API the
7344 WLAN DAL will pack and send a HAL Del STA request
7345 message to the lower RIVA sub-system if DAL is in state
7346 STARTED.
7347
7348 In state BUSY this request will be queued. Request won't
7349 be allowed in any other state.
7350
7351 WDI_PostAssocReq must have been called.
7352
7353 @param wdiDelSTAParams: the Del STA parameters as specified by
7354 the Device Interface
7355
7356 wdiDelSTARspCb: callback for passing back the response
7357 of the del STA operation received from the device
7358
7359 pUserData: user data will be passed back with the
7360 callback
7361
7362 @see WDI_PostAssocReq
7363 @return Result of the function call
7364*/
7365WDI_Status
7366WDI_DelSTAReq
7367(
7368 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7369 WDI_DelSTARspCb wdiDelSTARspCb,
7370 void* pUserData
7371);
7372
7373/*========================================================================
7374
7375 SECURITY APIs
7376
7377==========================================================================*/
7378
7379/**
7380 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7381 install a BSS encryption key on the HW. Upon the call of
7382 this API the WLAN DAL will pack and send a HAL Start
7383 request message to the lower RIVA sub-system if DAL is
7384 in state STARTED.
7385
7386 In state BUSY this request will be queued. Request won't
7387 be allowed in any other state.
7388
7389 WDI_PostAssocReq must have been called.
7390
7391 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7392 specified by the Device Interface
7393
7394 wdiSetBSSKeyRspCb: callback for passing back the
7395 response of the set BSS Key operation received from the
7396 device
7397
7398 pUserData: user data will be passed back with the
7399 callback
7400
7401 @see WDI_PostAssocReq
7402 @return Result of the function call
7403*/
7404WDI_Status
7405WDI_SetBSSKeyReq
7406(
7407 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7408 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7409 void* pUserData
7410);
7411
7412
7413/**
7414 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7415 uninstall a BSS key from HW. Upon the call of this API
7416 the WLAN DAL will pack and send a HAL Remove BSS Key
7417 request message to the lower RIVA sub-system if DAL is
7418 in state STARTED.
7419
7420 In state BUSY this request will be queued. Request won't
7421 be allowed in any other state.
7422
7423 WDI_SetBSSKeyReq must have been called.
7424
7425 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7426 specified by the Device Interface
7427
7428 wdiRemoveBSSKeyRspCb: callback for passing back the
7429 response of the remove BSS key operation received from
7430 the device
7431
7432 pUserData: user data will be passed back with the
7433 callback
7434
7435 @see WDI_SetBSSKeyReq
7436 @return Result of the function call
7437*/
7438WDI_Status
7439WDI_RemoveBSSKeyReq
7440(
7441 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7442 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7443 void* pUserData
7444);
7445
7446
7447/**
7448 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7449 ready to install a STA(ast) encryption key in HW. Upon
7450 the call of this API the WLAN DAL will pack and send a
7451 HAL Set STA Key request message to the lower RIVA
7452 sub-system if DAL is in state STARTED.
7453
7454 In state BUSY this request will be queued. Request won't
7455 be allowed in any other state.
7456
7457 WDI_PostAssocReq must have been called.
7458
7459 @param wdiSetSTAKeyParams: the set STA key parameters as
7460 specified by the Device Interface
7461
7462 wdiSetSTAKeyRspCb: callback for passing back the
7463 response of the set STA key operation received from the
7464 device
7465
7466 pUserData: user data will be passed back with the
7467 callback
7468
7469 @see WDI_PostAssocReq
7470 @return Result of the function call
7471*/
7472WDI_Status
7473WDI_SetSTAKeyReq
7474(
7475 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7476 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7477 void* pUserData
7478);
7479
7480
7481/**
7482 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7483 wants to unistall a previously set STA key in HW. Upon
7484 the call of this API the WLAN DAL will pack and send a
7485 HAL Remove STA Key request message to the lower RIVA
7486 sub-system if DAL is in state STARTED.
7487
7488 In state BUSY this request will be queued. Request won't
7489 be allowed in any other state.
7490
7491 WDI_SetSTAKeyReq must have been called.
7492
7493 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7494 specified by the Device Interface
7495
7496 wdiRemoveSTAKeyRspCb: callback for passing back the
7497 response of the remove STA key operation received from
7498 the device
7499
7500 pUserData: user data will be passed back with the
7501 callback
7502
7503 @see WDI_SetSTAKeyReq
7504 @return Result of the function call
7505*/
7506WDI_Status
7507WDI_RemoveSTAKeyReq
7508(
7509 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7510 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7511 void* pUserData
7512);
7513
7514/**
7515 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7516 wants to install a STA Bcast encryption key on the HW.
7517 Upon the call of this API the WLAN DAL will pack and
7518 send a HAL Start request message to the lower RIVA
7519 sub-system if DAL is in state STARTED.
7520
7521 In state BUSY this request will be queued. Request won't
7522 be allowed in any other state.
7523
7524 WDI_PostAssocReq must have been called.
7525
7526 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7527 specified by the Device Interface
7528
7529 wdiSetSTABcastKeyRspCb: callback for passing back the
7530 response of the set BSS Key operation received from the
7531 device
7532
7533 pUserData: user data will be passed back with the
7534 callback
7535
7536 @see WDI_PostAssocReq
7537 @return Result of the function call
7538*/
7539WDI_Status
7540WDI_SetSTABcastKeyReq
7541(
7542 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7543 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7544 void* pUserData
7545);
7546
7547
7548/**
7549 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7550 MAC to uninstall a STA Bcast key from HW. Upon the call
7551 of this API the WLAN DAL will pack and send a HAL Remove
7552 STA Bcast Key request message to the lower RIVA
7553 sub-system if DAL is in state STARTED.
7554
7555 In state BUSY this request will be queued. Request won't
7556 be allowed in any other state.
7557
7558 WDI_SetSTABcastKeyReq must have been called.
7559
7560 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7561 parameters as specified by the Device
7562 Interface
7563
7564 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7565 response of the remove STA Bcast key operation received
7566 from the device
7567
7568 pUserData: user data will be passed back with the
7569 callback
7570
7571 @see WDI_SetSTABcastKeyReq
7572 @return Result of the function call
7573*/
7574WDI_Status
7575WDI_RemoveSTABcastKeyReq
7576(
7577 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7578 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7579 void* pUserData
7580);
7581
schang86c22c42013-03-13 18:41:24 -07007582
7583/**
7584 @brief WDI_SetTxPowerReq will be called when the upper
7585 MAC wants to set Tx Power to HW.
7586 In state BUSY this request will be queued. Request won't
7587 be allowed in any other state.
7588
7589
7590 @param pwdiSetTxPowerParams: set TS Power parameters
7591 BSSID and target TX Power with dbm included
7592
7593 wdiReqStatusCb: callback for passing back the response
7594
7595 pUserData: user data will be passed back with the
7596 callback
7597
7598 @return Result of the function call
7599*/
7600WDI_Status
7601WDI_SetTxPowerReq
7602(
7603 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
7604 WDA_SetTxPowerRspCb wdiReqStatusCb,
7605 void* pUserData
7606);
7607
Jeff Johnson295189b2012-06-20 16:38:30 -07007608/**
7609 @brief WDI_SetMaxTxPowerReq will be called when the upper
7610 MAC wants to set Max Tx Power to HW. Upon the
7611 call of this API the WLAN DAL will pack and send a HAL
7612 Remove STA Bcast Key request message to the lower RIVA
7613 sub-system if DAL is in state STARTED.
7614
7615 In state BUSY this request will be queued. Request won't
7616 be allowed in any other state.
7617
7618 WDI_SetSTABcastKeyReq must have been called.
7619
7620 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7621 parameters as specified by the Device
7622 Interface
7623
7624 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7625 response of the remove STA Bcast key operation received
7626 from the device
7627
7628 pUserData: user data will be passed back with the
7629 callback
7630
7631 @see WDI_SetMaxTxPowerReq
7632 @return Result of the function call
7633*/
7634WDI_Status
7635WDI_SetMaxTxPowerReq
7636(
7637 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
7638 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
7639 void* pUserData
7640);
7641
7642#ifdef FEATURE_WLAN_CCX
7643/**
7644 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
7645 Traffic Stream metrics.
7646 In state BUSY this request will be queued. Request won't
7647 be allowed in any other state.
7648
7649 @param wdiAddTsReqParams: the add TS parameters as specified by
7650 the Device Interface
7651
7652 wdiAddTsRspCb: callback for passing back the response of
7653 the add TS operation received from the device
7654
7655 pUserData: user data will be passed back with the
7656 callback
7657
7658 @see WDI_PostAssocReq
7659 @return Result of the function call
7660*/
7661WDI_Status
7662WDI_TSMStatsReq
7663(
7664 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
7665 WDI_TsmRspCb wdiTsmStatsRspCb,
7666 void* pUserData
7667);
7668
7669
7670#endif
7671
7672/*========================================================================
7673
7674 QoS and BA APIs
7675
7676==========================================================================*/
7677
7678/**
7679 @brief WDI_AddTSReq will be called when the upper MAC to inform
7680 the device of a successful add TSpec negotiation. HW
7681 needs to receive the TSpec Info from the UMAC in order
7682 to configure properly the QoS data traffic. Upon the
7683 call of this API the WLAN DAL will pack and send a HAL
7684 Add TS request message to the lower RIVA sub-system if
7685 DAL is in state STARTED.
7686
7687 In state BUSY this request will be queued. Request won't
7688 be allowed in any other state.
7689
7690 WDI_PostAssocReq must have been called.
7691
7692 @param wdiAddTsReqParams: the add TS parameters as specified by
7693 the Device Interface
7694
7695 wdiAddTsRspCb: callback for passing back the response of
7696 the add TS operation received from the device
7697
7698 pUserData: user data will be passed back with the
7699 callback
7700
7701 @see WDI_PostAssocReq
7702 @return Result of the function call
7703*/
7704WDI_Status
7705WDI_AddTSReq
7706(
7707 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
7708 WDI_AddTsRspCb wdiAddTsRspCb,
7709 void* pUserData
7710);
7711
7712
7713
7714/**
7715 @brief WDI_DelTSReq will be called when the upper MAC has ended
7716 admission on a specific AC. This is to inform HW that
7717 QoS traffic parameters must be rest. Upon the call of
7718 this API the WLAN DAL will pack and send a HAL Del TS
7719 request message to the lower RIVA sub-system if DAL is
7720 in state STARTED.
7721
7722 In state BUSY this request will be queued. Request won't
7723 be allowed in any other state.
7724
7725 WDI_AddTSReq must have been called.
7726
7727 @param wdiDelTsReqParams: the del TS parameters as specified by
7728 the Device Interface
7729
7730 wdiDelTsRspCb: callback for passing back the response of
7731 the del TS operation received from the device
7732
7733 pUserData: user data will be passed back with the
7734 callback
7735
7736 @see WDI_AddTSReq
7737 @return Result of the function call
7738*/
7739WDI_Status
7740WDI_DelTSReq
7741(
7742 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
7743 WDI_DelTsRspCb wdiDelTsRspCb,
7744 void* pUserData
7745);
7746
7747
7748
7749/**
7750 @brief WDI_UpdateEDCAParams will be called when the upper MAC
7751 wishes to update the EDCA parameters used by HW for QoS
7752 data traffic. Upon the call of this API the WLAN DAL
7753 will pack and send a HAL Update EDCA Params request
7754 message to the lower RIVA sub-system if DAL is in state
7755 STARTED.
7756
7757 In state BUSY this request will be queued. Request won't
7758 be allowed in any other state.
7759
7760 WDI_PostAssocReq must have been called.
7761
7762 @param wdiUpdateEDCAParams: the start parameters as specified
7763 by the Device Interface
7764
7765 wdiUpdateEDCAParamsRspCb: callback for passing back the
7766 response of the start operation received from the device
7767
7768 pUserData: user data will be passed back with the
7769 callback
7770
7771 @see WDI_PostAssocReq
7772 @return Result of the function call
7773*/
7774WDI_Status
7775WDI_UpdateEDCAParams
7776(
7777 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
7778 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
7779 void* pUserData
7780);
7781
7782
7783
7784/**
7785 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
7786 successfully a BA session and needs to notify the HW for
7787 the appropriate settings to take place. Upon the call of
7788 this API the WLAN DAL will pack and send a HAL Add BA
7789 request message to the lower RIVA sub-system if DAL is
7790 in state STARTED.
7791
7792 In state BUSY this request will be queued. Request won't
7793 be allowed in any other state.
7794
7795 WDI_PostAssocReq must have been called.
7796
7797 @param wdiAddBAReqParams: the add BA parameters as specified by
7798 the Device Interface
7799
7800 wdiAddBARspCb: callback for passing back the response of
7801 the add BA operation received from the device
7802
7803 pUserData: user data will be passed back with the
7804 callback
7805
7806 @see WDI_PostAssocReq
7807 @return Result of the function call
7808*/
7809WDI_Status
7810WDI_AddBASessionReq
7811(
7812 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
7813 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
7814 void* pUserData
7815);
7816
7817
7818/**
7819 @brief WDI_DelBAReq will be called when the upper MAC wants to
7820 inform HW that it has deleted a previously created BA
7821 session. Upon the call of this API the WLAN DAL will
7822 pack and send a HAL Del BA request message to the lower
7823 RIVA sub-system if DAL is in state STARTED.
7824
7825 In state BUSY this request will be queued. Request won't
7826 be allowed in any other state.
7827
7828 WDI_AddBAReq must have been called.
7829
7830 @param wdiDelBAReqParams: the del BA parameters as specified by
7831 the Device Interface
7832
7833 wdiDelBARspCb: callback for passing back the response of
7834 the del BA operation received from the device
7835
7836 pUserData: user data will be passed back with the
7837 callback
7838
7839 @see WDI_AddBAReq
7840 @return Result of the function call
7841*/
7842WDI_Status
7843WDI_DelBAReq
7844(
7845 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
7846 WDI_DelBARspCb wdiDelBARspCb,
7847 void* pUserData
7848);
7849
7850/**
7851 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
7852 inform HW that there is a change in the beacon parameters
7853 Upon the call of this API the WLAN DAL will
7854 pack and send a UpdateBeacon Params message to the lower
7855 RIVA sub-system if DAL is in state STARTED.
7856
7857 In state BUSY this request will be queued. Request won't
7858 be allowed in any other state.
7859
7860 WDI_UpdateBeaconParamsReq must have been called.
7861
7862 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
7863 the Device Interface
7864
7865 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
7866 the Update Beacon Params operation received from the device
7867
7868 pUserData: user data will be passed back with the
7869 callback
7870
7871 @see WDI_AddBAReq
7872 @return Result of the function call
7873*/
7874
7875WDI_Status
7876WDI_UpdateBeaconParamsReq
7877(
7878 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
7879 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
7880 void* pUserData
7881);
7882
7883
7884/**
7885 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
7886 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
7887 Upon the call of this API the WLAN DAL will
7888 pack and send the beacon Template message to the lower
7889 RIVA sub-system if DAL is in state STARTED.
7890
7891 In state BUSY this request will be queued. Request won't
7892 be allowed in any other state.
7893
7894 WDI_SendBeaconParamsReq must have been called.
7895
7896 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
7897 the Device Interface
7898
7899 WDI_SendBeaconParamsRspCb: callback for passing back the response of
7900 the Send Beacon Params operation received from the device
7901
7902 pUserData: user data will be passed back with the
7903 callback
7904
7905 @see WDI_AddBAReq
7906 @return Result of the function call
7907*/
7908
7909WDI_Status
7910WDI_SendBeaconParamsReq
7911(
7912 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
7913 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
7914 void* pUserData
7915);
7916
7917
7918/**
7919 @brief WDI_UpdateProbeRspTemplateReq will be called when the
7920 upper MAC wants to update the probe response template to
7921 be transmitted as Soft AP
7922 Upon the call of this API the WLAN DAL will
7923 pack and send the probe rsp template message to the
7924 lower RIVA sub-system if DAL is in state STARTED.
7925
7926 In state BUSY this request will be queued. Request won't
7927 be allowed in any other state.
7928
7929
7930 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
7931 specified by the Device Interface
7932
7933 wdiSendBeaconParamsRspCb: callback for passing back the
7934 response of the Send Beacon Params operation received
7935 from the device
7936
7937 pUserData: user data will be passed back with the
7938 callback
7939
7940 @see WDI_AddBAReq
7941 @return Result of the function call
7942*/
7943
7944WDI_Status
7945WDI_UpdateProbeRspTemplateReq
7946(
7947 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
7948 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
7949 void* pUserData
7950);
7951
Jeff Johnson295189b2012-06-20 16:38:30 -07007952/**
7953 @brief WDI_SetP2PGONOAReq will be called when the
7954 upper MAC wants to send Notice of Absence
7955 Upon the call of this API the WLAN DAL will
7956 pack and send the probe rsp template message to the
7957 lower RIVA sub-system if DAL is in state STARTED.
7958
7959 In state BUSY this request will be queued. Request won't
7960 be allowed in any other state.
7961
7962
7963 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
7964 specified by the Device Interface
7965
7966 wdiSendBeaconParamsRspCb: callback for passing back the
7967 response of the Send Beacon Params operation received
7968 from the device
7969
7970 pUserData: user data will be passed back with the
7971 callback
7972
7973 @see WDI_AddBAReq
7974 @return Result of the function call
7975*/
7976WDI_Status
7977WDI_SetP2PGONOAReq
7978(
7979 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
7980 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
7981 void* pUserData
7982);
Jeff Johnson295189b2012-06-20 16:38:30 -07007983
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307984/**
7985 @brief WDI_SetTDLSLinkEstablishReq will be called when the
7986 upper MAC wants to send TDLS Link Establish Request Parameters
7987 Upon the call of this API the WLAN DAL will
7988 pack and send the TDLS Link Establish Request message to the
7989 lower RIVA sub-system if DAL is in state STARTED.
7990
7991 In state BUSY this request will be queued. Request won't
7992 be allowed in any other state.
7993
7994
7995 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
7996 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
7997
7998 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
7999 response of the TDLS Link Establish request received
8000 from the device
8001
8002 pUserData: user data will be passed back with the
8003 callback
8004
8005 @see
8006 @return Result of the function call
8007*/
8008WDI_Status
8009WDI_SetTDLSLinkEstablishReq
8010(
8011 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8012 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8013 void* pUserData
8014);
Jeff Johnson295189b2012-06-20 16:38:30 -07008015
8016/*========================================================================
8017
8018 Power Save APIs
8019
8020==========================================================================*/
8021
8022/**
8023 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8024 wants to set the power save related configurations of
8025 the WLAN Device. Upon the call of this API the WLAN DAL
8026 will pack and send a HAL Update CFG request message to
8027 the lower RIVA sub-system if DAL is in state STARTED.
8028
8029 In state BUSY this request will be queued. Request won't
8030 be allowed in any other state.
8031
8032 WDI_Start must have been called.
8033
8034 @param pwdiPowerSaveCfg: the power save cfg parameters as
8035 specified by the Device Interface
8036
8037 wdiSetPwrSaveCfgCb: callback for passing back the
8038 response of the set power save cfg operation received
8039 from the device
8040
8041 pUserData: user data will be passed back with the
8042 callback
8043
8044 @see WDI_Start
8045 @return Result of the function call
8046*/
8047WDI_Status
8048WDI_SetPwrSaveCfgReq
8049(
8050 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8051 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8052 void* pUserData
8053);
8054
8055/**
8056 @brief WDI_EnterImpsReq will be called when the upper MAC to
8057 request the device to get into IMPS power state. Upon
8058 the call of this API the WLAN DAL will send a HAL Enter
8059 IMPS request message to the lower RIVA sub-system if DAL
8060 is in state STARTED.
8061
8062 In state BUSY this request will be queued. Request won't
8063 be allowed in any other state.
8064
8065
8066 @param wdiEnterImpsRspCb: callback for passing back the
8067 response of the Enter IMPS operation received from the
8068 device
8069
8070 pUserData: user data will be passed back with the
8071 callback
8072
8073 @see WDI_Start
8074 @return Result of the function call
8075*/
8076WDI_Status
8077WDI_EnterImpsReq
8078(
8079 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8080 void* pUserData
8081);
8082
8083/**
8084 @brief WDI_ExitImpsReq will be called when the upper MAC to
8085 request the device to get out of IMPS power state. Upon
8086 the call of this API the WLAN DAL will send a HAL Exit
8087 IMPS request message to the lower RIVA sub-system if DAL
8088 is in state STARTED.
8089
8090 In state BUSY this request will be queued. Request won't
8091 be allowed in any other state.
8092
8093
8094
8095 @param wdiExitImpsRspCb: callback for passing back the response
8096 of the Exit IMPS operation received from the device
8097
8098 pUserData: user data will be passed back with the
8099 callback
8100
8101 @see WDI_Start
8102 @return Result of the function call
8103*/
8104WDI_Status
8105WDI_ExitImpsReq
8106(
8107 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8108 void* pUserData
8109);
8110
8111/**
8112 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8113 request the device to get into BMPS power state. Upon
8114 the call of this API the WLAN DAL will pack and send a
8115 HAL Enter BMPS request message to the lower RIVA
8116 sub-system if DAL is in state STARTED.
8117
8118 In state BUSY this request will be queued. Request won't
8119 be allowed in any other state.
8120
8121 WDI_PostAssocReq must have been called.
8122
8123 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8124 specified by the Device Interface
8125
8126 wdiEnterBmpsRspCb: callback for passing back the
8127 response of the Enter BMPS operation received from the
8128 device
8129
8130 pUserData: user data will be passed back with the
8131 callback
8132
8133 @see WDI_PostAssocReq
8134 @return Result of the function call
8135*/
8136WDI_Status
8137WDI_EnterBmpsReq
8138(
8139 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8140 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8141 void* pUserData
8142);
8143
8144/**
8145 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8146 request the device to get out of BMPS power state. Upon
8147 the call of this API the WLAN DAL will pack and send a
8148 HAL Exit BMPS request message to the lower RIVA
8149 sub-system if DAL is in state STARTED.
8150
8151 In state BUSY this request will be queued. Request won't
8152 be allowed in any other state.
8153
8154 WDI_PostAssocReq must have been called.
8155
8156 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8157 specified by the Device Interface
8158
8159 wdiExitBmpsRspCb: callback for passing back the response
8160 of the Exit BMPS operation received from the device
8161
8162 pUserData: user data will be passed back with the
8163 callback
8164
8165 @see WDI_PostAssocReq
8166 @return Result of the function call
8167*/
8168WDI_Status
8169WDI_ExitBmpsReq
8170(
8171 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8172 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8173 void* pUserData
8174);
8175
8176/**
8177 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8178 request the device to get into UAPSD power state. Upon
8179 the call of this API the WLAN DAL will pack and send a
8180 HAL Enter UAPSD request message to the lower RIVA
8181 sub-system if DAL is in state STARTED.
8182
8183 In state BUSY this request will be queued. Request won't
8184 be allowed in any other state.
8185
8186 WDI_PostAssocReq must have been called.
8187 WDI_SetUapsdAcParamsReq must have been called.
8188
8189 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8190 specified by the Device Interface
8191
8192 wdiEnterUapsdRspCb: callback for passing back the
8193 response of the Enter UAPSD operation received from the
8194 device
8195
8196 pUserData: user data will be passed back with the
8197 callback
8198
8199 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8200 @return Result of the function call
8201*/
8202WDI_Status
8203WDI_EnterUapsdReq
8204(
8205 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8206 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8207 void* pUserData
8208);
8209
8210/**
8211 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8212 request the device to get out of UAPSD power state. Upon
8213 the call of this API the WLAN DAL will send a HAL Exit
8214 UAPSD request message to the lower RIVA sub-system if
8215 DAL is in state STARTED.
8216
8217 In state BUSY this request will be queued. Request won't
8218 be allowed in any other state.
8219
8220 WDI_PostAssocReq must have been called.
8221
8222 @param wdiExitUapsdRspCb: callback for passing back the
8223 response of the Exit UAPSD operation received from the
8224 device
8225
8226 pUserData: user data will be passed back with the
8227 callback
8228
8229 @see WDI_PostAssocReq
8230 @return Result of the function call
8231*/
8232WDI_Status
8233WDI_ExitUapsdReq
8234(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008235 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008236 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8237 void* pUserData
8238);
8239
8240/**
8241 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8242 MAC wants to set the UAPSD related configurations
8243 of an associated STA (while acting as an AP) to the WLAN
8244 Device. Upon the call of this API the WLAN DAL will pack
8245 and send a HAL Update UAPSD params request message to
8246 the lower RIVA sub-system if DAL is in state STARTED.
8247
8248 In state BUSY this request will be queued. Request won't
8249 be allowed in any other state.
8250
8251 WDI_ConfigBSSReq must have been called.
8252
8253 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8254 as specified by the Device Interface
8255
8256 wdiUpdateUapsdParamsCb: callback for passing back the
8257 response of the update UAPSD params operation received
8258 from the device
8259
8260 pUserData: user data will be passed back with the
8261 callback
8262
8263 @see WDI_ConfigBSSReq
8264 @return Result of the function call
8265*/
8266WDI_Status
8267WDI_UpdateUapsdParamsReq
8268(
8269 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8270 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8271 void* pUserData
8272);
8273
8274/**
8275 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8276 MAC wants to set the UAPSD related configurations before
8277 requesting for enter UAPSD power state to the WLAN
8278 Device. Upon the call of this API the WLAN DAL will pack
8279 and send a HAL Set UAPSD params request message to
8280 the lower RIVA sub-system if DAL is in state STARTED.
8281
8282 In state BUSY this request will be queued. Request won't
8283 be allowed in any other state.
8284
8285 WDI_PostAssocReq must have been called.
8286
8287 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8288 the Device Interface
8289
8290 wdiSetUapsdAcParamsCb: callback for passing back the
8291 response of the set UAPSD params operation received from
8292 the device
8293
8294 pUserData: user data will be passed back with the
8295 callback
8296
8297 @see WDI_PostAssocReq
8298 @return Result of the function call
8299*/
8300WDI_Status
8301WDI_SetUapsdAcParamsReq
8302(
8303 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8304 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8305 void* pUserData
8306);
8307
8308/**
8309 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8310 MAC wants to set/reset the RXP filters for received pkts
8311 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8312 and send a HAL configure RXP filter request message to
8313 the lower RIVA sub-system.
8314
8315 In state BUSY this request will be queued. Request won't
8316 be allowed in any other state.
8317
8318
8319 @param pwdiConfigureRxpFilterReqParams: the RXP
8320 filter as specified by the Device
8321 Interface
8322
8323 wdiConfigureRxpFilterCb: callback for passing back the
8324 response of the configure RXP filter operation received
8325 from the device
8326
8327 pUserData: user data will be passed back with the
8328 callback
8329
8330 @return Result of the function call
8331*/
8332WDI_Status
8333WDI_ConfigureRxpFilterReq
8334(
8335 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8336 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8337 void* pUserData
8338);
8339
8340/**
8341 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8342 wants to set the beacon filters while in power save.
8343 Upon the call of this API the WLAN DAL will pack and
8344 send a Beacon filter request message to the
8345 lower RIVA sub-system.
8346
8347 In state BUSY this request will be queued. Request won't
8348 be allowed in any other state.
8349
8350
8351 @param pwdiBeaconFilterReqParams: the beacon
8352 filter as specified by the Device
8353 Interface
8354
8355 wdiBeaconFilterCb: callback for passing back the
8356 response of the set beacon filter operation received
8357 from the device
8358
8359 pUserData: user data will be passed back with the
8360 callback
8361
8362 @return Result of the function call
8363*/
8364WDI_Status
8365WDI_SetBeaconFilterReq
8366(
8367 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8368 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8369 void* pUserData
8370);
8371
8372/**
8373 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8374 wants to remove the beacon filter for perticular IE
8375 while in power save. Upon the call of this API the WLAN
8376 DAL will pack and send a remove Beacon filter request
8377 message to the lower RIVA sub-system.
8378
8379 In state BUSY this request will be queued. Request won't
8380 be allowed in any other state.
8381
8382
8383 @param pwdiBeaconFilterReqParams: the beacon
8384 filter as specified by the Device
8385 Interface
8386
8387 wdiBeaconFilterCb: callback for passing back the
8388 response of the remove beacon filter operation received
8389 from the device
8390
8391 pUserData: user data will be passed back with the
8392 callback
8393
8394 @return Result of the function call
8395*/
8396WDI_Status
8397WDI_RemBeaconFilterReq
8398(
8399 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8400 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8401 void* pUserData
8402);
8403
8404/**
8405 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8406 MAC wants to set the RSSI thresholds related
8407 configurations while in power save. Upon the call of
8408 this API the WLAN DAL will pack and send a HAL Set RSSI
8409 thresholds request message to the lower RIVA
8410 sub-system if DAL is 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_PostAssocReq must have been called.
8416
8417 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8418 the Device Interface
8419
8420 wdiSetUapsdAcParamsCb: callback for passing back the
8421 response of the set UAPSD params operation received from
8422 the device
8423
8424 pUserData: user data will be passed back with the
8425 callback
8426
8427 @see WDI_PostAssocReq
8428 @return Result of the function call
8429*/
8430WDI_Status
8431WDI_SetRSSIThresholdsReq
8432(
8433 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8434 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8435 void* pUserData
8436);
8437
8438/**
8439 @brief WDI_HostOffloadReq will be called when the upper MAC
8440 wants to set the filter to minimize unnecessary host
8441 wakeup due to broadcast traffic while in power save.
8442 Upon the call of this API the WLAN DAL will pack and
8443 send a HAL host offload request message to the
8444 lower RIVA 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 pwdiHostOffloadParams: the host offload as specified
8452 by the Device Interface
8453
8454 wdiHostOffloadCb: callback for passing back the response
8455 of the host offload 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_HostOffloadReq
8466(
8467 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8468 WDI_HostOffloadCb wdiHostOffloadCb,
8469 void* pUserData
8470);
8471
8472/**
8473 @brief WDI_KeepAliveReq will be called when the upper MAC
8474 wants to set the filter to send NULL or unsolicited ARP responses
8475 and minimize unnecessary host wakeups due to while in power save.
8476 Upon the call of this API the WLAN DAL will pack and
8477 send a HAL Keep Alive request message to the
8478 lower RIVA 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_PostAssocReq must have been called.
8484
8485 @param pwdiKeepAliveParams: the Keep Alive as specified
8486 by the Device Interface
8487
8488 wdiKeepAliveCb: callback for passing back the response
8489 of the Keep Alive operation received from the
8490 device
8491
8492 pUserData: user data will be passed back with the
8493 callback
8494
8495 @see WDI_PostAssocReq
8496 @return Result of the function call
8497*/
8498WDI_Status
8499WDI_KeepAliveReq
8500(
8501 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8502 WDI_KeepAliveCb wdiKeepAliveCb,
8503 void* pUserData
8504);
8505
8506/**
8507 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8508 wants to set the Wowl Bcast ptrn to minimize unnecessary
8509 host wakeup due to broadcast traffic while in power
8510 save. Upon the call of this API the WLAN DAL will pack
8511 and send a HAL Wowl Bcast ptrn request message to the
8512 lower RIVA sub-system if DAL is in state STARTED.
8513
8514 In state BUSY this request will be queued. Request won't
8515 be allowed in any other state.
8516
8517 WDI_PostAssocReq must have been called.
8518
8519 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8520 specified by the Device Interface
8521
8522 wdiWowlAddBcPtrnCb: callback for passing back the
8523 response of the add Wowl bcast ptrn operation received
8524 from the device
8525
8526 pUserData: user data will be passed back with the
8527 callback
8528
8529 @see WDI_PostAssocReq
8530 @return Result of the function call
8531*/
8532WDI_Status
8533WDI_WowlAddBcPtrnReq
8534(
8535 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8536 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8537 void* pUserData
8538);
8539
8540/**
8541 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8542 wants to clear the Wowl Bcast ptrn. Upon the call of
8543 this API the WLAN DAL will pack and send a HAL delete
8544 Wowl Bcast ptrn 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_WowlAddBcPtrnReq must have been called.
8551
8552 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8553 specified by the Device Interface
8554
8555 wdiWowlDelBcPtrnCb: callback for passing back the
8556 response of the del Wowl bcast ptrn operation received
8557 from the device
8558
8559 pUserData: user data will be passed back with the
8560 callback
8561
8562 @see WDI_WowlAddBcPtrnReq
8563 @return Result of the function call
8564*/
8565WDI_Status
8566WDI_WowlDelBcPtrnReq
8567(
8568 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
8569 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
8570 void* pUserData
8571);
8572
8573/**
8574 @brief WDI_WowlEnterReq will be called when the upper MAC
8575 wants to enter the Wowl state to minimize unnecessary
8576 host wakeup while in power save. Upon the call of this
8577 API the WLAN DAL will pack and send a HAL Wowl enter
8578 request message to the lower RIVA sub-system if DAL is
8579 in state STARTED.
8580
8581 In state BUSY this request will be queued. Request won't
8582 be allowed in any other state.
8583
8584 WDI_PostAssocReq must have been called.
8585
8586 @param pwdiWowlEnterReqParams: the Wowl enter info as
8587 specified by the Device Interface
8588
8589 wdiWowlEnterReqCb: callback for passing back the
8590 response of the enter Wowl operation received from the
8591 device
8592
8593 pUserData: user data will be passed back with the
8594 callback
8595
8596 @see WDI_PostAssocReq
8597 @return Result of the function call
8598*/
8599WDI_Status
8600WDI_WowlEnterReq
8601(
8602 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
8603 WDI_WowlEnterReqCb wdiWowlEnterCb,
8604 void* pUserData
8605);
8606
8607/**
8608 @brief WDI_WowlExitReq will be called when the upper MAC
8609 wants to exit the Wowl state. Upon the call of this API
8610 the WLAN DAL will pack and send a HAL Wowl exit request
8611 message to the lower RIVA sub-system if DAL is in state
8612 STARTED.
8613
8614 In state BUSY this request will be queued. Request won't
8615 be allowed in any other state.
8616
8617 WDI_WowlEnterReq must have been called.
8618
8619 @param pwdiWowlExitReqParams: the Wowl exit info as
8620 specified by the Device Interface
8621
8622 wdiWowlExitReqCb: callback for passing back the response
8623 of the exit Wowl operation received from the device
8624
8625 pUserData: user data will be passed back with the
8626 callback
8627
8628 @see WDI_WowlEnterReq
8629 @return Result of the function call
8630*/
8631WDI_Status
8632WDI_WowlExitReq
8633(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008634 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008635 WDI_WowlExitReqCb wdiWowlExitCb,
8636 void* pUserData
8637);
8638
8639/**
8640 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
8641 the upper MAC wants to dynamically adjusts the listen
8642 interval based on the WLAN/MSM activity. Upon the call
8643 of this API the WLAN DAL will pack and send a HAL
8644 configure Apps Cpu Wakeup State request message to the
8645 lower RIVA sub-system.
8646
8647 In state BUSY this request will be queued. Request won't
8648 be allowed in any other state.
8649
8650
8651 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
8652 Apps Cpu Wakeup State as specified by the
8653 Device Interface
8654
8655 wdiConfigureAppsCpuWakeupStateCb: callback for passing
8656 back the response of the configure Apps Cpu Wakeup State
8657 operation received from the device
8658
8659 pUserData: user data will be passed back with the
8660 callback
8661
8662 @return Result of the function call
8663*/
8664WDI_Status
8665WDI_ConfigureAppsCpuWakeupStateReq
8666(
8667 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
8668 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
8669 void* pUserData
8670);
8671/**
8672 @brief WDI_FlushAcReq will be called when the upper MAC wants
8673 to to perform a flush operation on a given AC. Upon the
8674 call of this API the WLAN DAL will pack and send a HAL
8675 Flush AC request message to the lower RIVA sub-system if
8676 DAL is in state STARTED.
8677
8678 In state BUSY this request will be queued. Request won't
8679 be allowed in any other state.
8680
8681
8682 @param pwdiFlushAcReqParams: the Flush AC parameters as
8683 specified by the Device Interface
8684
8685 wdiFlushAcRspCb: callback for passing back the response
8686 of the Flush AC operation received from the device
8687
8688 pUserData: user data will be passed back with the
8689 callback
8690
8691 @return Result of the function call
8692*/
8693WDI_Status
8694WDI_FlushAcReq
8695(
8696 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
8697 WDI_FlushAcRspCb wdiFlushAcRspCb,
8698 void* pUserData
8699);
8700
8701/**
8702 @brief WDI_BtAmpEventReq will be called when the upper MAC
8703 wants to notify the lower mac on a BT AMP event. This is
8704 to inform BTC-SLM that some BT AMP event occurred. Upon
8705 the call of this API the WLAN DAL will pack and send a
8706 HAL BT AMP event request message to the lower RIVA
8707 sub-system if DAL is in state STARTED.
8708
8709 In state BUSY this request will be queued. Request won't
8710 be allowed in any other state.
8711
8712
8713 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
8714 specified by the Device Interface
8715
8716 wdiBtAmpEventRspCb: callback for passing back the
8717 response of the BT AMP event operation received from the
8718 device
8719
8720 pUserData: user data will be passed back with the
8721 callback
8722
8723 @return Result of the function call
8724*/
8725WDI_Status
8726WDI_BtAmpEventReq
8727(
8728 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
8729 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
8730 void* pUserData
8731);
8732
Jeff Johnsone7245742012-09-05 17:12:55 -07008733#ifdef FEATURE_OEM_DATA_SUPPORT
8734/**
8735 @brief WDI_Start oem data Req will be called when the upper MAC
8736 wants to notify the lower mac on a oem data Req event.Upon
8737 the call of this API the WLAN DAL will pack and send a
8738 HAL OEM Data Req event request message to the lower RIVA
8739 sub-system if DAL is in state STARTED.
8740
8741 In state BUSY this request will be queued. Request won't
8742 be allowed in any other state.
8743
8744
8745 @param pWdiOemDataReqParams: the oem data req parameters as
8746 specified by the Device Interface
8747
8748 wdiStartOemDataRspCb: callback for passing back the
8749 response of the Oem Data Req received from the
8750 device
8751
8752 pUserData: user data will be passed back with the
8753 callback
8754
8755 @return Result of the function call
8756*/
8757WDI_Status
8758WDI_StartOemDataReq
8759(
8760 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
8761 WDI_oemDataRspCb wdiOemDataRspCb,
8762 void* pUserData
8763);
8764#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008765
8766/*========================================================================
8767
8768 CONTROL APIs
8769
8770==========================================================================*/
8771/**
8772 @brief WDI_SwitchChReq will be called when the upper MAC wants
8773 the WLAN HW to change the current channel of operation.
8774 Upon the call of this API the WLAN DAL will pack and
8775 send a HAL Start request message to the lower RIVA
8776 sub-system if DAL is in state STARTED.
8777
8778 In state BUSY this request will be queued. Request won't
8779 be allowed in any other state.
8780
8781 WDI_Start must have been called.
8782
8783 @param wdiSwitchChReqParams: the switch ch parameters as
8784 specified by the Device Interface
8785
8786 wdiSwitchChRspCb: callback for passing back the response
8787 of the switch ch operation received from the device
8788
8789 pUserData: user data will be passed back with the
8790 callback
8791
8792 @see WDI_Start
8793 @return Result of the function call
8794*/
8795WDI_Status
8796WDI_SwitchChReq
8797(
8798 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
8799 WDI_SwitchChRspCb wdiSwitchChRspCb,
8800 void* pUserData
8801);
8802
8803
8804
8805/**
8806 @brief WDI_ConfigSTAReq will be called when the upper MAC
8807 wishes to add or update a STA in HW. Upon the call of
8808 this API the WLAN DAL will pack and send a HAL Start
8809 message request message to the lower RIVA sub-system if
8810 DAL is in state STARTED.
8811
8812 In state BUSY this request will be queued. Request won't
8813 be allowed in any other state.
8814
8815 WDI_Start must have been called.
8816
8817 @param wdiConfigSTAReqParams: the config STA parameters as
8818 specified by the Device Interface
8819
8820 wdiConfigSTARspCb: callback for passing back the
8821 response of the config STA operation received from the
8822 device
8823
8824 pUserData: user data will be passed back with the
8825 callback
8826
8827 @see WDI_Start
8828 @return Result of the function call
8829*/
8830WDI_Status
8831WDI_ConfigSTAReq
8832(
8833 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
8834 WDI_ConfigSTARspCb wdiConfigSTARspCb,
8835 void* pUserData
8836);
8837
8838/**
8839 @brief WDI_SetLinkStateReq will be called when the upper MAC
8840 wants to change the state of an ongoing link. Upon the
8841 call of this API the WLAN DAL will pack and send a HAL
8842 Start message request message to the lower RIVA
8843 sub-system if DAL is in state STARTED.
8844
8845 In state BUSY this request will be queued. Request won't
8846 be allowed in any other state.
8847
8848 WDI_JoinReq must have been called.
8849
8850 @param wdiSetLinkStateReqParams: the set link state parameters
8851 as specified by the Device Interface
8852
8853 wdiSetLinkStateRspCb: callback for passing back the
8854 response of the set link state operation received from
8855 the device
8856
8857 pUserData: user data will be passed back with the
8858 callback
8859
8860 @see WDI_JoinStartReq
8861 @return Result of the function call
8862*/
8863WDI_Status
8864WDI_SetLinkStateReq
8865(
8866 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
8867 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
8868 void* pUserData
8869);
8870
8871
8872/**
8873 @brief WDI_GetStatsReq will be called when the upper MAC wants
8874 to get statistics (MIB counters) from the device. Upon
8875 the call of this API the WLAN DAL will pack and send a
8876 HAL Start request message to the lower RIVA sub-system
8877 if DAL is in state STARTED.
8878
8879 In state BUSY this request will be queued. Request won't
8880 be allowed in any other state.
8881
8882 WDI_Start must have been called.
8883
8884 @param wdiGetStatsReqParams: the stats parameters to get as
8885 specified by the Device Interface
8886
8887 wdiGetStatsRspCb: callback for passing back the response
8888 of the get stats operation received from the device
8889
8890 pUserData: user data will be passed back with the
8891 callback
8892
8893 @see WDI_Start
8894 @return Result of the function call
8895*/
8896WDI_Status
8897WDI_GetStatsReq
8898(
8899 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
8900 WDI_GetStatsRspCb wdiGetStatsRspCb,
8901 void* pUserData
8902);
8903
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08008904#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
8905/**
8906 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
8907 to get roam rssi from the device. Upon
8908 the call of this API the WLAN DAL will pack and send a
8909 HAL Start request message to the lower RIVA sub-system
8910 if DAL is in state STARTED.
8911
8912 In state BUSY this request will be queued. Request won't
8913 be allowed in any other state.
8914
8915 WDI_Start must have been called.
8916
8917 @param wdiGetRoamRssiReqParams: the stats parameters to get as
8918 specified by the Device Interface
8919
8920 wdiGetRoamRssispCb: callback for passing back the response
8921 of the get stats operation received from the device
8922
8923 pUserData: user data will be passed back with the
8924 callback
8925
8926 @see WDI_Start
8927 @return Result of the function call
8928*/
8929WDI_Status
8930WDI_GetRoamRssiReq
8931(
8932 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
8933 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
8934 void* pUserData
8935);
8936#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008937
8938/**
8939 @brief WDI_UpdateCfgReq will be called when the upper MAC when
8940 it wishes to change the configuration of the WLAN
8941 Device. Upon the call of this API the WLAN DAL will pack
8942 and send a HAL Update CFG request message to the lower
8943 RIVA sub-system if DAL is in state STARTED.
8944
8945 In state BUSY this request will be queued. Request won't
8946 be allowed in any other state.
8947
8948 WDI_Start must have been called.
8949
8950 @param wdiUpdateCfgReqParams: the update cfg parameters as
8951 specified by the Device Interface
8952
8953 wdiUpdateCfgsRspCb: callback for passing back the
8954 response of the update cfg operation received from the
8955 device
8956
8957 pUserData: user data will be passed back with the
8958 callback
8959
8960 @see WDI_Start
8961 @return Result of the function call
8962*/
8963WDI_Status
8964WDI_UpdateCfgReq
8965(
8966 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
8967 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
8968 void* pUserData
8969);
8970
8971/**
8972 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
8973 to the NV memory.
8974
8975 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
8976 the Device Interface
8977
8978 wdiNvDownloadRspCb: callback for passing back the response of
8979 the NV Download operation received from the device
8980
8981 pUserData: user data will be passed back with the
8982 callback
8983
8984 @see WDI_PostAssocReq
8985 @return Result of the function call
8986*/
8987WDI_Status
8988WDI_NvDownloadReq
8989(
8990 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
8991 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
8992 void* pUserData
8993);
8994/**
8995 @brief WDI_AddBAReq will be called when the upper MAC has setup
8996 successfully a BA session and needs to notify the HW for
8997 the appropriate settings to take place. Upon the call of
8998 this API the WLAN DAL will pack and send a HAL Add BA
8999 request message to the lower RIVA sub-system if DAL is
9000 in state STARTED.
9001
9002 In state BUSY this request will be queued. Request won't
9003 be allowed in any other state.
9004
9005 WDI_PostAssocReq must have been called.
9006
9007 @param wdiAddBAReqParams: the add BA parameters as specified by
9008 the Device Interface
9009
9010 wdiAddBARspCb: callback for passing back the response of
9011 the add BA operation received from the device
9012
9013 pUserData: user data will be passed back with the
9014 callback
9015
9016 @see WDI_PostAssocReq
9017 @return Result of the function call
9018*/
9019WDI_Status
9020WDI_AddBAReq
9021(
9022 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9023 WDI_AddBARspCb wdiAddBARspCb,
9024 void* pUserData
9025);
9026
9027/**
9028 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9029 successfully a BA session and needs to notify the HW for
9030 the appropriate settings to take place. Upon the call of
9031 this API the WLAN DAL will pack and send a HAL Add BA
9032 request message to the lower RIVA sub-system if DAL is
9033 in state STARTED.
9034
9035 In state BUSY this request will be queued. Request won't
9036 be allowed in any other state.
9037
9038 WDI_PostAssocReq must have been called.
9039
9040 @param wdiAddBAReqParams: the add BA parameters as specified by
9041 the Device Interface
9042
9043 wdiAddBARspCb: callback for passing back the response of
9044 the add BA operation received from the device
9045
9046 pUserData: user data will be passed back with the
9047 callback
9048
9049 @see WDI_PostAssocReq
9050 @return Result of the function call
9051*/
9052WDI_Status
9053WDI_TriggerBAReq
9054(
9055 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9056 WDI_TriggerBARspCb wdiTriggerBARspCb,
9057 void* pUserData
9058);
9059
9060
9061/**
9062 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9063 frame xtl is enabled for a particular STA.
9064
9065 WDI_PostAssocReq must have been called.
9066
9067 @param uSTAIdx: STA index
9068
9069 @see WDI_PostAssocReq
9070 @return Result of the function call
9071*/
9072wpt_boolean WDI_IsHwFrameTxTranslationCapable
9073(
9074 wpt_uint8 uSTAIdx
9075);
9076
9077#ifdef WLAN_FEATURE_VOWIFI_11R
9078/**
9079 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9080 the device of a successful add TSpec negotiation for 11r. HW
9081 needs to receive the TSpec Info from the UMAC in order
9082 to configure properly the QoS data traffic. Upon the
9083 call of this API the WLAN DAL will pack and send a HAL
9084 Aggregated Add TS request message to the lower RIVA sub-system if
9085 DAL is in state STARTED.
9086
9087 In state BUSY this request will be queued. Request won't
9088 be allowed in any other state.
9089
9090 WDI_PostAssocReq must have been called.
9091
9092 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9093 the Device Interface
9094
9095 wdiAggrAddTsRspCb: callback for passing back the response of
9096 the add TS operation received from the device
9097
9098 pUserData: user data will be passed back with the
9099 callback
9100
9101 @see WDI_PostAssocReq
9102 @return Result of the function call
9103*/
9104WDI_Status
9105WDI_AggrAddTSReq
9106(
9107 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9108 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9109 void* pUserData
9110);
9111#endif /* WLAN_FEATURE_VOWIFI_11R */
9112/**
9113 @brief WDI_STATableInit - Initializes the STA tables.
9114 Allocates the necesary memory.
9115
9116
9117 @param pWDICtx: pointer to the WLAN DAL context
9118
9119 @see
9120 @return Result of the function call
9121*/
9122
9123WDI_Status WDI_StubRunTest
9124(
9125 wpt_uint8 ucTestNo
9126);
9127
Jeff Johnson295189b2012-06-20 16:38:30 -07009128/**
9129 @brief WDI_FTMCommandReq -
9130 Route FTMRequest Command to HAL
9131
9132 @param ftmCommandReq: FTM request command body
9133 @param ftmCommandRspCb: Response CB
9134 @param pUserData: User data will be included with CB
9135
9136 @return Result of the function call
9137*/
9138WDI_Status WDI_FTMCommandReq
9139(
9140 WDI_FTMCommandReqType *ftmCommandReq,
9141 WDI_FTMCommandRspCb ftmCommandRspCb,
9142 void *pUserData
9143);
Jeff Johnson295189b2012-06-20 16:38:30 -07009144
9145/**
9146 @brief WDI_HostResumeReq will be called
9147
9148 In state BUSY this request will be queued. Request won't
9149 be allowed in any other state.
9150
9151
9152 @param pwdiResumeReqParams: as specified by
9153 the Device Interface
9154
9155 wdiResumeReqRspCb: callback for passing back the response of
9156 the Resume Req received from the device
9157
9158 pUserData: user data will be passed back with the
9159 callback
9160
9161 @see WDI_PostAssocReq
9162 @return Result of the function call
9163*/
9164WDI_Status
9165WDI_HostResumeReq
9166(
9167 WDI_ResumeParamsType* pwdiResumeReqParams,
9168 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9169 void* pUserData
9170);
9171
9172/**
9173 @brief WDI_GetAvailableResCount - Function to get the available resource
9174 for data and managemnt frames.
9175
9176 @param pContext: pointer to the WDI context
9177 @param wdiResPool: type of resource pool requesting
9178 @see
9179 @return Result of the function call
9180*/
9181
9182wpt_uint32 WDI_GetAvailableResCount
9183(
9184 void *pContext,
9185 WDI_ResPoolType wdiResPool
9186);
9187
9188/**
9189 @brief WDI_SetAddSTASelfReq will be called when the
9190 UMAC wanted to add self STA while opening any new session
9191 In state BUSY this request will be queued. Request won't
9192 be allowed in any other state.
9193
9194
9195 @param pwdiAddSTASelfParams: the add self sta parameters as
9196 specified by the Device Interface
9197
9198 pUserData: user data will be passed back with the
9199 callback
9200
9201 @see
9202 @return Result of the function call
9203*/
9204WDI_Status
9205WDI_AddSTASelfReq
9206(
9207 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9208 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9209 void* pUserData
9210);
9211
9212
9213/**
9214 @brief WDI_DelSTASelfReq will be called .
9215
9216 @param WDI_DelSTASelfReqParamsType
9217
9218 WDI_DelSTASelfRspCb: callback for passing back the
9219 response of the del sta self operation received from the
9220 device
9221
9222 pUserData: user data will be passed back with the
9223 callback
9224
9225 @see WDI_PostAssocReq
9226 @return Result of the function call
9227*/
9228WDI_Status
9229WDI_DelSTASelfReq
9230(
9231 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9232 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9233 void* pUserData
9234);
9235
9236/**
9237 @brief WDI_HostSuspendInd
9238
9239 Suspend Indication from the upper layer will be sent
9240 down to HAL
9241
9242 @param WDI_SuspendParamsType
9243
9244 @see
9245
9246 @return Status of the request
9247*/
9248WDI_Status
9249WDI_HostSuspendInd
9250(
9251 WDI_SuspendParamsType* pwdiSuspendIndParams
9252);
9253
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009254/**
9255 @brief WDI_TrafficStatsInd
9256
9257 Traffic Stats from the upper layer will be sent
9258 down to HAL
9259
9260 @param WDI_TrafficStatsIndType
9261
9262 @see
9263
9264 @return Status of the request
9265*/
9266WDI_Status
9267WDI_TrafficStatsInd
9268(
9269 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9270);
9271
Chet Lanctot186b5732013-03-18 10:26:30 -07009272#ifdef WLAN_FEATURE_11W
9273/**
9274 @brief WDI_ExcludeUnencryptedInd
9275 Register with HAL to receive/drop unencrypted frames
9276
9277 @param WDI_ExcludeUnencryptIndType
9278
9279 @see
9280
9281 @return Status of the request
9282*/
9283WDI_Status
9284WDI_ExcludeUnencryptedInd
9285(
9286 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9287);
9288#endif
9289
Jeff Johnson295189b2012-06-20 16:38:30 -07009290#ifdef FEATURE_WLAN_SCAN_PNO
9291/**
9292 @brief WDI_SetPreferredNetworkList
9293
9294 @param pwdiPNOScanReqParams: the Set PNO as specified
9295 by the Device Interface
9296
9297 wdiPNOScanCb: callback for passing back the response
9298 of the Set PNO operation received from the
9299 device
9300
9301 pUserData: user data will be passed back with the
9302 callback
9303
9304 @see WDI_PostAssocReq
9305 @return Result of the function call
9306*/
9307WDI_Status
9308WDI_SetPreferredNetworkReq
9309(
9310 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9311 WDI_PNOScanCb wdiPNOScanCb,
9312 void* pUserData
9313);
9314
9315/**
9316 @brief WDI_SetRssiFilterReq
9317
9318 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9319 specified by the Device Interface
9320
9321 wdiRssiFilterCb: callback for passing back the response
9322 of the Set RSSI Filter operation received from the
9323 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_SetRssiFilterReq
9333(
9334 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9335 WDI_RssiFilterCb wdiRssiFilterCb,
9336 void* pUserData
9337);
9338
9339/**
9340 @brief WDI_UpdateScanParams
9341
9342 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9343 by the Device Interface
9344
9345 wdiUpdateScanParamsCb: callback for passing back the response
9346 of the Set PNO operation received from the
9347 device
9348
9349 pUserData: user data will be passed back with the
9350 callback
9351
9352 @see WDI_PostAssocReq
9353 @return Result of the function call
9354*/
9355WDI_Status
9356WDI_UpdateScanParamsReq
9357(
9358 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9359 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9360 void* pUserData
9361);
9362#endif // FEATURE_WLAN_SCAN_PNO
9363
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009364#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9365/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009366 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009367
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009368 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009369 by the Device Interface
9370
9371 wdiRoamOffloadScanCb: callback for passing back the response
9372 of the Start Roam Candidate Lookup operation received from the
9373 device
9374
9375 pUserData: user data will be passed back with the
9376 callback
9377
9378 @return Result of the function call
9379*/
9380WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009381WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009382(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009383 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009384 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9385 void* pUserData
9386);
9387#endif
9388
Jeff Johnson295189b2012-06-20 16:38:30 -07009389/**
9390 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9391 wants to set the Tx Per Tracking configurations.
9392 Upon the call of this API the WLAN DAL will pack
9393 and send a HAL Set Tx Per Tracking request message to the
9394 lower RIVA sub-system if DAL is in state STARTED.
9395
9396 In state BUSY this request will be queued. Request won't
9397 be allowed in any other state.
9398
9399 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9400 specified by the Device Interface
9401
9402 wdiSetTxPerTrackingCb: callback for passing back the
9403 response of the set Tx PER Tracking configurations operation received
9404 from the device
9405
9406 pUserData: user data will be passed back with the
9407 callback
9408
9409 @return Result of the function call
9410*/
9411WDI_Status
9412WDI_SetTxPerTrackingReq
9413(
9414 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9415 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9416 void* pUserData
9417);
9418
9419/**
9420 @brief WDI_SetTmLevelReq
9421 If HW Thermal condition changed, driver should react based on new
9422 HW thermal condition.
9423
9424 @param pwdiSetTmLevelReq: New thermal condition information
9425
9426 pwdiSetTmLevelRspCb: callback
9427
9428 usrData: user data will be passed back with the
9429 callback
9430
9431 @return Result of the function call
9432*/
9433WDI_Status
9434WDI_SetTmLevelReq
9435(
9436 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9437 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9438 void *usrData
9439);
9440
9441#ifdef WLAN_FEATURE_PACKET_FILTERING
9442/**
9443 @brief WDI_8023MulticastListReq
9444
9445 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9446 List as specified by the Device Interface
9447
9448 wdi8023MulticastListCallback: callback for passing back
9449 the response of the Set 8023 Multicast List operation
9450 received from the device
9451
9452 pUserData: user data will be passed back with the
9453 callback
9454
9455 @see WDI_PostAssocReq
9456 @return Result of the function call
9457*/
9458WDI_Status
9459WDI_8023MulticastListReq
9460(
9461 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9462 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9463 void* pUserData
9464);
9465
9466/**
9467 @brief WDI_ReceiveFilterSetFilterReq
9468
9469 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9470 specified by the Device Interface
9471
9472 wdiReceiveFilterSetFilterReqCallback: callback for
9473 passing back the response of the Set Receive Filter
9474 operation received from the device
9475
9476 pUserData: user data will be passed back with the
9477 callback
9478
9479 @see WDI_PostAssocReq
9480 @return Result of the function call
9481*/
9482WDI_Status
9483WDI_ReceiveFilterSetFilterReq
9484(
9485 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9486 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9487 void* pUserData
9488);
9489
9490/**
9491 @brief WDI_PCFilterMatchCountReq
9492
9493 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9494 Count
9495
9496 wdiPCFilterMatchCountCallback: callback for passing back
9497 the response of the D0 PC Filter Match Count operation
9498 received from the device
9499
9500 pUserData: user data will be passed back with the
9501 callback
9502
9503 @see WDI_PostAssocReq
9504 @return Result of the function call
9505*/
9506WDI_Status
9507WDI_FilterMatchCountReq
9508(
9509 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9510 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9511 void* pUserData
9512);
9513
9514/**
9515 @brief WDI_ReceiveFilterClearFilterReq
9516
9517 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9518 specified by the Device Interface
9519
9520 wdiReceiveFilterClearFilterCallback: callback for
9521 passing back the response of the Clear Filter
9522 operation received from the device
9523
9524 pUserData: user data will be passed back with the
9525 callback
9526
9527 @see WDI_PostAssocReq
9528 @return Result of the function call
9529*/
9530WDI_Status
9531WDI_ReceiveFilterClearFilterReq
9532(
9533 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
9534 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
9535 void* pUserData
9536);
9537#endif // WLAN_FEATURE_PACKET_FILTERING
9538
9539/**
9540 @brief WDI_HALDumpCmdReq
9541 Post HAL DUMP Command Event
9542
9543 @param halDumpCmdReqParams: Hal Dump Command Body
9544 @param halDumpCmdRspCb: callback for passing back the
9545 response
9546 @param pUserData: Client Data
9547
9548 @see
9549 @return Result of the function call
9550*/
9551WDI_Status WDI_HALDumpCmdReq(
9552 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
9553 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
9554 void *pUserData
9555);
9556
9557
9558/**
9559 @brief WDI_SetPowerParamsReq
9560
9561 @param pwdiPowerParamsReqParams: the Set Power Params as
9562 specified by the Device Interface
9563
9564 wdiPowerParamsCb: callback for passing back the response
9565 of the Set Power Params operation received from the
9566 device
9567
9568 pUserData: user data will be passed back with the
9569 callback
9570
9571 @return Result of the function call
9572*/
9573WDI_Status
9574WDI_SetPowerParamsReq
9575(
9576 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
9577 WDI_SetPowerParamsCb wdiPowerParamsCb,
9578 void* pUserData
9579);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05309580/**
9581 @brief WDI_dhcpStartInd
9582 Forward the DHCP Start event
9583
9584 @param
9585
9586 wdiDHCPInd: device mode and MAC address is passed
9587
9588 @see
9589 @return Result of the function call
9590*/
9591
9592WDI_Status
9593WDI_dhcpStartInd
9594(
9595 WDI_DHCPInd *wdiDHCPInd
9596);
9597/**
9598 @brief WDI_dhcpStopReq
9599 Forward the DHCP Stop event
9600
9601 @param
9602
9603 wdiDHCPInd: device mode and MAC address is passed
9604
9605 @see
9606 @return Result of the function call
9607*/
9608
9609WDI_Status
9610WDI_dhcpStopInd
9611(
9612 WDI_DHCPInd *wdiDHCPInd
9613);
Jeff Johnson295189b2012-06-20 16:38:30 -07009614
9615#ifdef WLAN_FEATURE_GTK_OFFLOAD
9616/**
9617 @brief WDI_GTKOffloadReq will be called when the upper MAC
9618 wants to set GTK Rekey Counter while in power save. Upon
9619 the call of this API the WLAN DAL will pack and send a
9620 HAL GTK offload request message to the lower RIVA
9621 sub-system if DAL is in state STARTED.
9622
9623 In state BUSY this request will be queued. Request won't
9624 be allowed in any other state.
9625
9626 WDI_PostAssocReq must have been called.
9627
9628 @param pwdiGtkOffloadParams: the GTK offload as specified
9629 by the Device Interface
9630
9631 wdiGtkOffloadCb: callback for passing back the response
9632 of the GTK offload operation received from the device
9633
9634 pUserData: user data will be passed back with the
9635 callback
9636
9637 @see WDI_PostAssocReq
9638 @return Result of the function call
9639*/
9640WDI_Status
9641WDI_GTKOffloadReq
9642(
9643 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
9644 WDI_GtkOffloadCb wdiGtkOffloadCb,
9645 void* pUserData
9646);
9647
9648/**
9649 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
9650 MAC wants to get GTK Rekey Counter while in power save.
9651 Upon the call of this API the WLAN DAL will pack and
9652 send a HAL GTK offload request message to the lower RIVA
9653 sub-system if DAL is in state STARTED.
9654
9655 In state BUSY this request will be queued. Request won't
9656 be allowed in any other state.
9657
9658 WDI_PostAssocReq must have been called.
9659
9660 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
9661 Information Message as specified by the
9662 Device Interface
9663
9664 wdiGtkOffloadGetInfoCb: callback for passing back the
9665 response of the GTK offload operation received from the
9666 device
9667
9668 pUserData: user data will be passed back with the
9669 callback
9670
9671 @see WDI_PostAssocReq
9672 @return Result of the function call
9673*/
9674WDI_Status
9675WDI_GTKOffloadGetInfoReq
9676(
9677 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
9678 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
9679 void* pUserData
9680);
9681#endif // WLAN_FEATURE_GTK_OFFLOAD
9682
9683/**
9684 @brief WDI_featureCapsExchangeReq
9685 Post feature capability bitmap exchange event.
9686 Host will send its own capability to FW in this req and
9687 expect FW to send its capability back as a bitmap in Response
9688
9689 @param
9690
9691 wdiFeatCapsExcRspCb: callback called on getting the response.
9692 It is kept to mantain similarity between WDI reqs and if needed, can
9693 be used in future. Currently, It is set to NULL
9694
9695 pUserData: user data will be passed back with the
9696 callback
9697
9698 @see
9699 @return Result of the function call
9700*/
9701WDI_Status
9702WDI_featureCapsExchangeReq
9703(
9704 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
9705 void* pUserData
9706);
9707
9708/**
Yathish9f22e662012-12-10 14:21:35 -08009709 @brief Disable Active mode offload in Host
9710
9711 @param void
9712 @see
9713 @return void
9714*/
9715void
9716WDI_disableCapablityFeature(wpt_uint8 feature_index);
9717
9718
9719/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009720 @brief WDI_getHostWlanFeatCaps
9721 WDI API that returns whether the feature passed to it as enum value in
9722 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
9723 variable storing host capability bitmap to find this. This can be used by
9724 other moduels to decide certain things like call different APIs based on
9725 whether a particular feature is supported.
9726
9727 @param
9728
9729 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
9730
9731 @see
9732 @return
9733 0 - if the feature is NOT supported in host
9734 any non-zero value - if the feature is SUPPORTED in host.
9735*/
9736wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
9737
9738/**
9739 @brief WDI_getFwWlanFeatCaps
9740 WDI API that returns whether the feature passed to it as enum value in
9741 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
9742 variable storing host capability bitmap to find this. This can be used by
9743 other moduels to decide certain things like call different APIs based on
9744 whether a particular feature is supported.
9745
9746 @param
9747
Jeff Johnsone7245742012-09-05 17:12:55 -07009748 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
9749 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -07009750
9751 @see
9752 @return
9753 0 - if the feature is NOT supported in FW
9754 any non-zero value - if the feature is SUPPORTED in FW.
9755*/
9756wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
9757
9758/**
9759 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
9760 api version
9761
9762 @param WDI_WlanVersionType: Wlan version structure
9763 @see
9764 @return none
9765*/
9766
9767void WDI_GetWcnssCompiledApiVersion
9768(
9769 WDI_WlanVersionType *pWcnssApiVersion
9770);
9771
Mohit Khanna4a70d262012-09-11 16:30:12 -07009772#ifdef WLAN_FEATURE_11AC
9773WDI_Status
9774WDI_UpdateVHTOpModeReq
9775(
9776 WDI_UpdateVHTOpMode *pData,
9777 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
9778 void* pUserData
9779);
Jeff Johnson295189b2012-06-20 16:38:30 -07009780
Mohit Khanna4a70d262012-09-11 16:30:12 -07009781#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009782
9783/**
9784 @brief WDI_TransportChannelDebug -
9785 Display DXE Channel debugging information
9786 User may request to display DXE channel snapshot
9787 Or if host driver detects any abnormal stcuk may display
9788
Jeff Johnsonb88db982012-12-10 13:34:59 -08009789 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009790 @param enableStallDetect : Enable stall detect feature
9791 This feature will take effect to data performance
9792 Not integrate till fully verification
9793 @see
9794 @return none
9795*/
9796void WDI_TransportChannelDebug
9797(
9798 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -07009799 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009800);
9801
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -07009802/**
9803 @brief WDI_SsrTimerCB
9804 Callback function for SSR timer, if this is called then the graceful
9805 shutdown for Riva did not happen.
9806
9807 @param pUserData : user data to timer
9808
9809 @see
9810 @return none
9811*/
9812void
9813WDI_SsrTimerCB
9814(
9815 void *pUserData
9816);
9817
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07009818/**
9819 @brief WDI_SetEnableSSR -
9820 This API is called to enable/disable SSR on WDI timeout.
9821
9822 @param enableSSR : enable/disable SSR
9823
9824 @see
9825 @return none
9826*/
9827void WDI_SetEnableSSR(wpt_boolean enableSSR);
9828
Leo Chang9056f462013-08-01 19:21:11 -07009829#ifdef FEATURE_WLAN_LPHB
9830/**
9831 @brief WDI_LPHBConfReq
9832 This API is called to config FW LPHB rule
9833
9834 @param lphbconfParam : LPHB rule should config to FW
9835 usrData : Client context
9836 lphbCfgCb : Configuration status callback
9837 @see
9838 @return SUCCESS or FAIL
9839*/
9840WDI_Status WDI_LPHBConfReq
9841(
9842 void *lphbconfParam,
9843 void *usrData,
9844 WDI_LphbCfgCb lphbCfgCb
9845);
9846#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07009847#ifdef __cplusplus
9848 }
9849#endif
9850
9851
9852#endif /* #ifndef WLAN_QCT_WDI_H */