blob: 9f85645a73fcf99d86ccb30dd43276b3614e78d0 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07002 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -07003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22#ifndef WLAN_QCT_WDI_H
23#define WLAN_QCT_WDI_H
24
25/*===========================================================================
26
27 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
28 E X T E R N A L A P I
29
30
31DESCRIPTION
32 This file contains the external API exposed by the wlan transport layer
33 module.
34
35
36 Copyright (c) 2010-2011 QUALCOMM Incorporated.
37 All Rights Reserved.
38 Qualcomm Confidential and Proprietary
39===========================================================================*/
40
41
42/*===========================================================================
43
44 EDIT HISTORY FOR FILE
45
46
47 This section contains comments describing changes made to the module.
48 Notice that changes are listed in reverse chronological order.
49
50
51 $Header:$ $DateTime: $ $Author: $
52
53
54when who what, where, why
55-------- --- ----------------------------------------------------------
5610/05/11 hap Adding support for Keep Alive
5708/04/10 lti Created module.
58
59===========================================================================*/
60
61
62
63/*===========================================================================
64
65 INCLUDE FILES FOR MODULE
66
67===========================================================================*/
68
69/*----------------------------------------------------------------------------
70 * Include Files
71 * -------------------------------------------------------------------------*/
72#include "wlan_qct_pal_api.h"
73#include "wlan_qct_pal_type.h"
74#include "wlan_qct_pack_align.h"
75#include "wlan_qct_wdi_cfg.h"
76
77/*----------------------------------------------------------------------------
78 * Preprocessor Definitions and Constants
79 * -------------------------------------------------------------------------*/
80#ifdef __cplusplus
81 extern "C" {
82#endif
83
84/* MAC ADDRESS LENGTH - per spec*/
85#define WDI_MAC_ADDR_LEN 6
86
87/* Max number of 11b rates -> 1,2,5.5,11 */
88#define WDI_NUM_11B_RATES 4
89
90/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
91#define WDI_NUM_11A_RATES 8
92
93/* Max number of legacy rates -> 72, 96, 108*/
94#define WDI_NUM_POLARIS_RATES 3
95
96/* Max supported MCS set*/
97#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
98
99/*Max number of Access Categories for QoS - per spec */
100#define WDI_MAX_NO_AC 4
101
102/*Max. size for reserving the Beacon Template */
103#define WDI_BEACON_TEMPLATE_SIZE 0x180
104
105#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
106
107#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
108
109#define WDI_MAX_SSID_SIZE 32
110
111/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
112from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
113of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
114
115#define FRAGMENT_SIZE 3072
116
117/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800118#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700119
120/* Beacon Filter Length*/
121#define WDI_BEACON_FILTER_LEN 70
122
123/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
124#define WDI_COEX_IND_DATA_SIZE (4)
125
126#define WDI_CIPHER_SEQ_CTR_SIZE 6
127
128#define WDI_NUM_BSSID 2
129
130/*Version string max length (including NUL) */
131#define WDI_VERSION_LENGTH 64
132
133
134/*WDI Response timeout - how long will WDI wait for a response from the device
135 - it should be large enough to allow any other failure mechanism to kick
136 in before we get to a timeout (ms units)*/
137#define WDI_RESPONSE_TIMEOUT 10000
138
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700139/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
140 * Apps initiated SSR will be performed */
141#define WDI_SSR_TIMEOUT 5000
142
Jeff Johnson295189b2012-06-20 16:38:30 -0700143#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
144
145/*============================================================================
146 * GENERIC STRUCTURES
147
148============================================================================*/
149
150/*---------------------------------------------------------------------------
151 WDI Version Information
152---------------------------------------------------------------------------*/
153typedef struct
154{
155 wpt_uint8 revision;
156 wpt_uint8 version;
157 wpt_uint8 minor;
158 wpt_uint8 major;
159} WDI_WlanVersionType;
160
161/*---------------------------------------------------------------------------
162 WDI Device Capability
163---------------------------------------------------------------------------*/
164typedef struct
165{
166 /*If this flag is true it means that the device can support 802.3/ETH2 to
167 802.11 translation*/
168 wpt_boolean bFrameXtlSupported;
169
170 /*Maximum number of BSSes supported by the Device */
171 wpt_uint8 ucMaxBSSSupported;
172
173 /*Maximum number of stations supported by the Device */
174 wpt_uint8 ucMaxSTASupported;
175}WDI_DeviceCapabilityType;
176
177/*---------------------------------------------------------------------------
178 WDI Channel Offset
179---------------------------------------------------------------------------*/
180typedef enum
181{
182 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
183 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700184 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
185#ifdef WLAN_FEATURE_11AC
186 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
187 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
188 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
189 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
190 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
191 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
192 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
193#endif
194 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700195}WDI_HTSecondaryChannelOffset;
196
197/*---------------------------------------------------------------------------
198 WDI_MacFrameCtl
199 Frame control field format (2 bytes)
200---------------------------------------------------------------------------*/
201typedef struct
202{
203 wpt_uint8 protVer :2;
204 wpt_uint8 type :2;
205 wpt_uint8 subType :4;
206
207 wpt_uint8 toDS :1;
208 wpt_uint8 fromDS :1;
209 wpt_uint8 moreFrag :1;
210 wpt_uint8 retry :1;
211 wpt_uint8 powerMgmt :1;
212 wpt_uint8 moreData :1;
213 wpt_uint8 wep :1;
214 wpt_uint8 order :1;
215
216} WDI_MacFrameCtl;
217
218/*---------------------------------------------------------------------------
219 WDI Sequence control field
220---------------------------------------------------------------------------*/
221typedef struct
222{
223 wpt_uint8 fragNum : 4;
224 wpt_uint8 seqNumLo : 4;
225 wpt_uint8 seqNumHi : 8;
226} WDI_MacSeqCtl;
227
228/*---------------------------------------------------------------------------
229 Management header format
230---------------------------------------------------------------------------*/
231typedef struct
232{
233 WDI_MacFrameCtl fc;
234 wpt_uint8 durationLo;
235 wpt_uint8 durationHi;
236 wpt_uint8 da[WDI_MAC_ADDR_LEN];
237 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
238 wpt_macAddr bssId;
239 WDI_MacSeqCtl seqControl;
240} WDI_MacMgmtHdr;
241
242/*---------------------------------------------------------------------------
243 NV Blob management sturcture
244 ---------------------------------------------------------------------------*/
245
246typedef struct
247{
248 /* NV image fragments count */
249 wpt_uint16 usTotalFragment;
250
251 /* NV fragment size */
252 wpt_uint16 usFragmentSize;
253
254 /* current fragment to be sent */
255 wpt_uint16 usCurrentFragment;
256
257} WDI_NvBlobInfoParams;
258
259
260/*---------------------------------------------------------------------------
261 Data path enums memory pool resource
262 ---------------------------------------------------------------------------*/
263
264typedef enum
265{
266 /* managment resource pool ID */
267 WDI_MGMT_POOL_ID = 0,
268 /* Data resource pool ID */
269 WDI_DATA_POOL_ID = 1
270}WDI_ResPoolType;
271
272/*============================================================================
273 * GENERIC STRUCTURES - END
274 ============================================================================*/
275
276/*----------------------------------------------------------------------------
277 * Type Declarations
278 * -------------------------------------------------------------------------*/
279/*---------------------------------------------------------------------------
280 WDI Status
281---------------------------------------------------------------------------*/
282typedef enum
283{
284 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
285 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
286 synchronous way - no rsp will be generated*/
287 WDI_STATUS_PENDING, /* Operation result is pending and will be
288 provided asynchronously through the Req Status
289 Callback */
290 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
291 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
292 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
293 failure*/
294 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
295 of the driver*/
296 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
297
298 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
299 WDI_STATUS_MAX
300
301}WDI_Status;
302
303
304/*---------------------------------------------------------------------------
305 WDI_ReqStatusCb
306
307 DESCRIPTION
308
309 This callback is invoked by DAL to deliver to UMAC the result of posting
310 a previous request for which the return status was PENDING.
311
312 PARAMETERS
313
314 IN
315 wdiStatus: response status received from the Control Transport
316 pUserData: user data
317
318
319
320 RETURN VALUE
321 The result code associated with performing the operation
322---------------------------------------------------------------------------*/
323typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
324 void* pUserData);
325
326/*---------------------------------------------------------------------------
327 WDI_LowLevelIndEnumType
328 Types of indication that can be posted to UMAC by DAL
329---------------------------------------------------------------------------*/
330typedef enum
331{
332 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
333 passed. */
334 WDI_RSSI_NOTIFICATION_IND,
335
336 /*Link loss in the low MAC */
337 WDI_MISSED_BEACON_IND,
338
339 /*when hardware has signaled an unknown addr2 frames. The indication will
340 contain info from frames to be passed to the UMAC, this may use this info to
341 deauth the STA*/
342 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
343
344 /*MIC Failure detected by HW*/
345 WDI_MIC_FAILURE_IND,
346
347 /*Fatal Error Ind*/
348 WDI_FATAL_ERROR_IND,
349
350 /*Delete Station Ind*/
351 WDI_DEL_STA_IND,
352
353 /*Indication from Coex*/
354 WDI_COEX_IND,
355
356 /* Indication for Tx Complete */
357 WDI_TX_COMPLETE_IND,
358
359 /*.P2P_NOA_Attr_Indication */
360 WDI_P2P_NOA_ATTR_IND,
361
362 /* Preferred Network Found Indication */
363 WDI_PREF_NETWORK_FOUND_IND,
364
365 WDI_WAKE_REASON_IND,
366
367 /* Tx PER Tracking Indication */
368 WDI_TX_PER_HIT_IND,
369
370 WDI_MAX_IND
371}WDI_LowLevelIndEnumType;
372
373
374/*---------------------------------------------------------------------------
375 WDI_LowRSSIThIndType
376---------------------------------------------------------------------------*/
377typedef struct
378{
379 /*Positive crossing of Rssi Thresh1*/
380 wpt_uint32 bRssiThres1PosCross : 1;
381 /*Negative crossing of Rssi Thresh1*/
382 wpt_uint32 bRssiThres1NegCross : 1;
383 /*Positive crossing of Rssi Thresh2*/
384 wpt_uint32 bRssiThres2PosCross : 1;
385 /*Negative crossing of Rssi Thresh2*/
386 wpt_uint32 bRssiThres2NegCross : 1;
387 /*Positive crossing of Rssi Thresh3*/
388 wpt_uint32 bRssiThres3PosCross : 1;
389 /*Negative crossing of Rssi Thresh3*/
390 wpt_uint32 bRssiThres3NegCross : 1;
391
392 wpt_uint32 bReserved : 26;
393
394}WDI_LowRSSIThIndType;
395
396
397/*---------------------------------------------------------------------------
398 WDI_UnkAddr2FrmRxIndType
399---------------------------------------------------------------------------*/
400typedef struct
401{
402 /*Rx Bd data of the unknown received addr2 frame.*/
403 void* bufRxBd;
404
405 /*Buffer Length*/
406 wpt_uint16 usBufLen;
407}WDI_UnkAddr2FrmRxIndType;
408
409/*---------------------------------------------------------------------------
410 WDI_DeleteSTAIndType
411---------------------------------------------------------------------------*/
412typedef struct
413{
414 /*ASSOC ID, as assigned by UMAC*/
415 wpt_uint16 usAssocId;
416
417 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
418 wpt_uint8 ucSTAIdx;
419
420 /*BSSID of STA*/
421 wpt_macAddr macBSSID;
422
423 /*MAC ADDR of STA*/
424 wpt_macAddr macADDR2;
425
426 /* To unify the keepalive / unknown A2 / tim-based disa*/
427 wpt_uint16 wptReasonCode;
428
429}WDI_DeleteSTAIndType;
430
431/*---------------------------------------------------------------------------
432 WDI_MicFailureIndType
433---------------------------------------------------------------------------*/
434typedef struct
435{
436 /*current BSSID*/
437 wpt_macAddr bssId;
438
439 /*Source mac address*/
440 wpt_macAddr macSrcAddr;
441
442 /*Transmitter mac address*/
443 wpt_macAddr macTaAddr;
444
445 /*Destination mac address*/
446 wpt_macAddr macDstAddr;
447
448 /*Multicast flag*/
449 wpt_uint8 ucMulticast;
450
451 /*First byte of IV*/
452 wpt_uint8 ucIV1;
453
454 /*Key Id*/
455 wpt_uint8 keyId;
456
457 /*Sequence Number*/
458 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
459
460 /*receive address */
461 wpt_macAddr macRxAddr;
462}WDI_MicFailureIndType;
463
464/*---------------------------------------------------------------------------
465 WDI_CoexIndType
466---------------------------------------------------------------------------*/
467typedef struct
468{
469 wpt_uint32 coexIndType;
470 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
471} WDI_CoexIndType;
472
473/*---------------------------------------------------------------------------
474 WDI_MacSSid
475---------------------------------------------------------------------------*/
476typedef struct
477{
478 wpt_uint8 ucLength;
479 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
480} WDI_MacSSid;
481
482#ifdef FEATURE_WLAN_SCAN_PNO
483/*---------------------------------------------------------------------------
484 WDI_PrefNetworkFoundInd
485---------------------------------------------------------------------------*/
486typedef struct
487{
488 /* Network that was found with the highest RSSI*/
489 WDI_MacSSid ssId;
490 /* Indicates the RSSI */
491 wpt_uint8 rssi;
492} WDI_PrefNetworkFoundInd;
493#endif // FEATURE_WLAN_SCAN_PNO
494
495#ifdef WLAN_FEATURE_P2P
496/*---------------------------------------------------------------------------
497 *WDI_P2pNoaAttrIndType
498 *-------------------------------------------------------------------------*/
499
500typedef struct
501{
502 wpt_uint8 ucIndex ;
503 wpt_uint8 ucOppPsFlag ;
504 wpt_uint16 usCtWin ;
505
506 wpt_uint16 usNoa1IntervalCnt;
507 wpt_uint16 usRsvd1 ;
508 wpt_uint32 uslNoa1Duration;
509 wpt_uint32 uslNoa1Interval;
510 wpt_uint32 uslNoa1StartTime;
511
512 wpt_uint16 usNoa2IntervalCnt;
513 wpt_uint16 usRsvd2;
514 wpt_uint32 uslNoa2Duration;
515 wpt_uint32 uslNoa2Interval;
516 wpt_uint32 uslNoa2StartTime;
517
518 wpt_uint32 status;
519}WDI_P2pNoaAttrIndType;
520#endif
521
522#ifdef WLAN_WAKEUP_EVENTS
523/*---------------------------------------------------------------------------
524 WDI_WakeReasonIndType
525---------------------------------------------------------------------------*/
526typedef struct
527{
528 wpt_uint32 ulReason; /* see tWakeReasonType */
529 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
530 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
531 HAL truncates the data (i.e. data packets) this length
532 will be less than the actual length */
533 wpt_uint32 ulActualDataLen; /* actual length of data */
534 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
535 see specific wake type */
536} WDI_WakeReasonIndType;
537#endif // WLAN_WAKEUP_EVENTS
538
539/*---------------------------------------------------------------------------
540 WDI_LowLevelIndType
541 Inidcation type and information about the indication being carried
542 over
543---------------------------------------------------------------------------*/
544typedef struct
545{
546 /*Inidcation type*/
547 WDI_LowLevelIndEnumType wdiIndicationType;
548
549 /*Indication data*/
550 union
551 {
552 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
553 WDI_LowRSSIThIndType wdiLowRSSIInfo;
554
555 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
556 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
557
558 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
559 WDI_MicFailureIndType wdiMICFailureInfo;
560
561 /*Error code for WDI_FATAL_ERROR_IND*/
562 wpt_uint16 usErrorCode;
563
564 /*Delete STA Indication*/
565 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
566
567 /*Coex Indication*/
568 WDI_CoexIndType wdiCoexInfo;
569
570 /* Tx Complete Indication */
571 wpt_uint32 tx_complete_status;
572
573#ifdef WLAN_FEATURE_P2P
574 /* P2P NOA ATTR Indication */
575 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
576#endif
577
578
579#ifdef FEATURE_WLAN_SCAN_PNO
580 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
581#endif // FEATURE_WLAN_SCAN_PNO
582
583#ifdef WLAN_WAKEUP_EVENTS
584 WDI_WakeReasonIndType wdiWakeReasonInd;
585#endif // WLAN_WAKEUP_EVENTS
586 } wdiIndicationData;
587}WDI_LowLevelIndType;
588
589/*---------------------------------------------------------------------------
590 WDI_LowLevelIndCBType
591
592 DESCRIPTION
593
594 This callback is invoked by DAL to deliver to UMAC certain indications
595 that has either received from the lower device or has generated itself.
596
597 PARAMETERS
598
599 IN
600 pwdiInd: information about the indication sent over
601 pUserData: user data provided by UMAC during registration
602
603
604
605 RETURN VALUE
606 The result code associated with performing the operation
607---------------------------------------------------------------------------*/
608typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
609 void* pUserData);
610
611/*---------------------------------------------------------------------------
612 WDI_DriverType
613---------------------------------------------------------------------------*/
614typedef enum
615{
616 WDI_DRIVER_TYPE_PRODUCTION = 0,
617 WDI_DRIVER_TYPE_MFG = 1,
618 WDI_DRIVER_TYPE_DVT = 2
619} WDI_DriverType;
620
621/*---------------------------------------------------------------------------
622 WDI_StartReqParamsType
623---------------------------------------------------------------------------*/
624typedef struct
625{
626 /*This is a TLV formatted buffer containing all config values that can
627 be set through the DAL Interface
628
629 The TLV is expected to be formatted like this:
630
631 0 7 15 31 ....
632 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
633
634 Or from a C construct point of VU it would look like this:
635
636 typedef struct WPT_PACK_POST
637 {
638 #ifdef WPT_BIG_ENDIAN
639 wpt_uint32 ucCfgId:8;
640 wpt_uint32 ucCfgLen:8;
641 wpt_uint32 usReserved:16;
642 #else
643 wpt_uint32 usReserved:16;
644 wpt_uint32 ucCfgLen:8;
645 wpt_uint32 ucCfgId:8;
646 #endif
647
648 wpt_uint8 ucCfgBody[ucCfgLen];
649 }WDI_ConfigType;
650
651 Multiple such tuplets are to be placed in the config buffer. One for
652 each required configuration item:
653
654 | TLV 1 | TLV2 | ....
655
656 The buffer is expected to be a flat area of memory that can be manipulated
657 with standard memory routines.
658
659 For more info please check paragraph 2.3.1 Config Structure from the
660 HAL LLD.
661
662 For a list of accepted configuration list and IDs please look up
663 wlan_qct_dal_cfg.h
664
665 */
666 void* pConfigBuffer;
667
668 /*Length of the config buffer above*/
669 wpt_uint16 usConfigBufferLen;
670
671 /*Production or FTM driver*/
672 WDI_DriverType wdiDriverType;
673
674 /*Should device enable frame translation */
675 wpt_uint8 bFrameTransEnabled;
676
677 /*Request status callback offered by UMAC - it is called if the current
678 req has returned PENDING as status; it delivers the status of sending
679 the message over the BUS */
680 WDI_ReqStatusCb wdiReqStatusCB;
681
682 /*The user data passed in by UMAC, it will be sent back when the above
683 function pointer will be called */
684 void* pUserData;
685
686 /*Indication callback given by UMAC to be called by the WLAN DAL when it
687 wishes to send something back independent of a request*/
688 WDI_LowLevelIndCBType wdiLowLevelIndCB;
689
690 /*The user data passed in by UMAC, it will be sent back when the indication
691 function pointer will be called */
692 void* pIndUserData;
693}WDI_StartReqParamsType;
694
695
696/*---------------------------------------------------------------------------
697 WDI_StartRspParamsType
698---------------------------------------------------------------------------*/
699typedef struct
700{
701 /*Status of the response*/
702 WDI_Status wdiStatus;
703
704 /*Max number of STA supported by the device*/
705 wpt_uint8 ucMaxStations;
706
707 /*Max number of BSS supported by the device*/
708 wpt_uint8 ucMaxBssids;
709
710 /*Version of the WLAN HAL API with which we were compiled*/
711 WDI_WlanVersionType wlanCompiledVersion;
712
713 /*Version of the WLAN HAL API that was reported*/
714 WDI_WlanVersionType wlanReportedVersion;
715
716 /*WCNSS Software version string*/
717 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
718
719 /*WCNSS Hardware version string*/
720 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
721}WDI_StartRspParamsType;
722
723
724/*---------------------------------------------------------------------------
725 WDI_StopType
726---------------------------------------------------------------------------*/
727typedef enum
728{
729 /*Device is being stopped due to a reset*/
730 WDI_STOP_TYPE_SYS_RESET,
731
732 /*Device is being stopped due to entering deep sleep*/
733 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
734
735 /*Device is being stopped because the RF needs to shut off
736 (e.g.:Airplane mode)*/
737 WDI_STOP_TYPE_RF_KILL
738}WDI_StopType;
739
740/*---------------------------------------------------------------------------
741 WDI_StopReqParamsType
742---------------------------------------------------------------------------*/
743typedef struct
744{
745
746 /*The reason for which the device is being stopped*/
747 WDI_StopType wdiStopReason;
748
749 /*Request status callback offered by UMAC - it is called if the current
750 req has returned PENDING as status; it delivers the status of sending
751 the message over the BUS */
752 WDI_ReqStatusCb wdiReqStatusCB;
753
754 /*The user data passed in by UMAC, it will be sent back when the above
755 function pointer will be called */
756 void* pUserData;
757}WDI_StopReqParamsType;
758
759
760/*---------------------------------------------------------------------------
761 WDI_ScanMode
762---------------------------------------------------------------------------*/
763typedef enum
764{
765 WDI_SCAN_MODE_NORMAL = 0,
766 WDI_SCAN_MODE_LEARN,
767 WDI_SCAN_MODE_SCAN,
768 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -0700769 WDI_SCAN_MODE_SUSPEND_LINK,
770 WDI_SCAN_MODE_ROAM_SCAN,
771 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
772
Jeff Johnson295189b2012-06-20 16:38:30 -0700773} WDI_ScanMode;
774
775/*---------------------------------------------------------------------------
776 WDI_ScanEntry
777---------------------------------------------------------------------------*/
778typedef struct
779{
780 wpt_uint8 bssIdx[WDI_NUM_BSSID];
781 wpt_uint8 activeBSScnt;
782}WDI_ScanEntry;
783
784/*---------------------------------------------------------------------------
785 WDI_InitScanReqInfoType
786---------------------------------------------------------------------------*/
787typedef struct
788{
789 /*LEARN - AP Role
790 SCAN - STA Role*/
791 WDI_ScanMode wdiScanMode;
792
793 /*BSSID of the BSS*/
794 wpt_macAddr macBSSID;
795
796 /*Whether BSS needs to be notified*/
797 wpt_boolean bNotifyBSS;
798
799 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
800 CTS to Self). Must always be a valid frame type.*/
801 wpt_uint8 ucFrameType;
802
803 /*UMAC has the option of passing the MAC frame to be used for notifying
804 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
805 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
806 frameType.*/
807 wpt_uint8 ucFrameLength;
808
809 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
810 WDI_MacMgmtHdr wdiMACMgmtHdr;
811
812 /*Entry to hold number of active BSS to send NULL frames before
813 * initiating SCAN*/
814 WDI_ScanEntry wdiScanEntry;
815
816 /* Flag to enable/disable Single NOA*/
817 wpt_boolean bUseNOA;
818
819 /* Indicates the scan duration (in ms) */
820 wpt_uint16 scanDuration;
821
822}WDI_InitScanReqInfoType;
823
824/*---------------------------------------------------------------------------
825 WDI_InitScanReqParamsType
826---------------------------------------------------------------------------*/
827typedef struct
828{
829 /*The info associated with the request that needs to be sent over to the
830 device*/
831 WDI_InitScanReqInfoType wdiReqInfo;
832
833 /*Request status callback offered by UMAC - it is called if the current
834 req has returned PENDING as status; it delivers the status of sending
835 the message over the BUS */
836 WDI_ReqStatusCb wdiReqStatusCB;
837
838 /*The user data passed in by UMAC, it will be sent back when the above
839 function pointer will be called */
840 void* pUserData;
841}WDI_InitScanReqParamsType;
842
843/*---------------------------------------------------------------------------
844 WDI_StartScanReqParamsType
845---------------------------------------------------------------------------*/
846typedef struct
847{
848 /*Indicates the channel to scan*/
849 wpt_uint8 ucChannel;
850
851 /*Request status callback offered by UMAC - it is called if the current
852 req has returned PENDING as status; it delivers the status of sending
853 the message over the BUS */
854 WDI_ReqStatusCb wdiReqStatusCB;
855
856 /*The user data passed in by UMAC, it will be sent back when the above
857 function pointer will be called */
858 void* pUserData;
859}WDI_StartScanReqParamsType;
860
861/*---------------------------------------------------------------------------
862 WDI_StartScanRspParamsType
863---------------------------------------------------------------------------*/
864typedef struct
865{
866 /*Indicates the status of the operation */
867 WDI_Status wdiStatus;
868
869#if defined WLAN_FEATURE_VOWIFI
870 wpt_uint32 aStartTSF[2];
871 wpt_int8 ucTxMgmtPower;
872#endif
873}WDI_StartScanRspParamsType;
874
875/*---------------------------------------------------------------------------
876 WDI_EndScanReqParamsType
877---------------------------------------------------------------------------*/
878typedef struct
879{
880 /*Indicates the channel to stop scanning. Not used really. But retained
881 for symmetry with "start Scan" message. It can also help in error
882 check if needed.*/
883 wpt_uint8 ucChannel;
884
885 /*Request status callback offered by UMAC - it is called if the current
886 req has returned PENDING as status; it delivers the status of sending
887 the message over the BUS */
888 WDI_ReqStatusCb wdiReqStatusCB;
889
890 /*The user data passed in by UMAC, it will be sent back when the above
891 function pointer will be called */
892 void* pUserData;
893}WDI_EndScanReqParamsType;
894
895/*---------------------------------------------------------------------------
896 WDI_PhyChanBondState
897---------------------------------------------------------------------------*/
898typedef enum
899{
900 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
901 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
902 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -0700903 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
904#ifdef WLAN_FEATURE_11AC
905 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
906 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
907 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
908 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
909 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
910 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
911 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
912#endif
913 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -0700914} WDI_PhyChanBondState;
915
916/*---------------------------------------------------------------------------
917 WDI_FinishScanReqInfoType
918---------------------------------------------------------------------------*/
919typedef struct
920{
921 /*LEARN - AP Role
922 SCAN - STA Role*/
923 WDI_ScanMode wdiScanMode;
924
925 /*Operating channel to tune to.*/
926 wpt_uint8 ucCurrentOperatingChannel;
927
928 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
929 40 MHz extension channel in combination with the control channel*/
930 WDI_PhyChanBondState wdiCBState;
931
932 /*BSSID of the BSS*/
933 wpt_macAddr macBSSID;
934
935 /*Whether BSS needs to be notified*/
936 wpt_boolean bNotifyBSS;
937
938 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
939 CTS to Self). Must always be a valid frame type.*/
940 wpt_uint8 ucFrameType;
941
942 /*UMAC has the option of passing the MAC frame to be used for notifying
943 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
944 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
945 frameType.*/
946 wpt_uint8 ucFrameLength;
947
948 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
949 WDI_MacMgmtHdr wdiMACMgmtHdr;
950
951 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
952 WDI_ScanEntry wdiScanEntry;
953
954}WDI_FinishScanReqInfoType;
955
956/*---------------------------------------------------------------------------
957 WDI_SwitchChReqInfoType
958---------------------------------------------------------------------------*/
959typedef struct
960{
961 /*Indicates the channel to switch to.*/
962 wpt_uint8 ucChannel;
963
964 /*Local power constraint*/
965 wpt_uint8 ucLocalPowerConstraint;
966
967 /*Secondary channel offset */
968 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
969
970#ifdef WLAN_FEATURE_VOWIFI
971 wpt_int8 cMaxTxPower;
972
973 /*Self STA Mac address*/
974 wpt_macAddr macSelfStaMacAddr;
975#endif
976 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
977 request has power constraints, this should be applied only to that session */
978 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
979 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
980 */
981 wpt_macAddr macBSSId;
982
983}WDI_SwitchChReqInfoType;
984
985/*---------------------------------------------------------------------------
986 WDI_SwitchChReqParamsType
987---------------------------------------------------------------------------*/
988typedef struct
989{
990 /*Channel Info*/
991 WDI_SwitchChReqInfoType wdiChInfo;
992
993 /*Request status callback offered by UMAC - it is called if the current
994 req has returned PENDING as status; it delivers the status of sending
995 the message over the BUS */
996 WDI_ReqStatusCb wdiReqStatusCB;
997
998 /*The user data passed in by UMAC, it will be sent back when the above
999 function pointer will be called */
1000 void* pUserData;
1001}WDI_SwitchChReqParamsType;
1002
1003/*---------------------------------------------------------------------------
1004 WDI_FinishScanReqParamsType
1005---------------------------------------------------------------------------*/
1006typedef struct
1007{
1008 /*Info for the Finish Scan request that will be sent down to the device*/
1009 WDI_FinishScanReqInfoType wdiReqInfo;
1010
1011 /*Request status callback offered by UMAC - it is called if the current
1012 req has returned PENDING as status; it delivers the status of sending
1013 the message over the BUS */
1014 WDI_ReqStatusCb wdiReqStatusCB;
1015
1016 /*The user data passed in by UMAC, it will be sent back when the above
1017 function pointer will be called */
1018 void* pUserData;
1019}WDI_FinishScanReqParamsType;
1020
1021/*---------------------------------------------------------------------------
1022 WDI_JoinReqInfoType
1023---------------------------------------------------------------------------*/
1024typedef struct
1025{
1026 /*Indicates the BSSID to which STA is going to associate*/
1027 wpt_macAddr macBSSID;
1028
1029 /*Indicates the MAC Address of the current Self STA*/
1030 wpt_macAddr macSTASelf;
1031
1032 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1033 wpt_uint32 linkState;
1034
1035 /*Indicates the channel to switch to.*/
1036 WDI_SwitchChReqInfoType wdiChannelInfo;
1037
1038}WDI_JoinReqInfoType;
1039
1040/*---------------------------------------------------------------------------
1041 WDI_JoinReqParamsType
1042---------------------------------------------------------------------------*/
1043typedef struct
1044{
1045 /*Info for the Join request that will be sent down to the device*/
1046 WDI_JoinReqInfoType wdiReqInfo;
1047
1048 /*Request status callback offered by UMAC - it is called if the current
1049 req has returned PENDING as status; it delivers the status of sending
1050 the message over the BUS */
1051 WDI_ReqStatusCb wdiReqStatusCB;
1052
1053 /*The user data passed in by UMAC, it will be sent back when the above
1054 function pointer will be called */
1055 void* pUserData;
1056}WDI_JoinReqParamsType;
1057
1058/*---------------------------------------------------------------------------
1059 WDI_BssType
1060---------------------------------------------------------------------------*/
1061typedef enum
1062{
1063 WDI_INFRASTRUCTURE_MODE,
1064 WDI_INFRA_AP_MODE, //Added for softAP support
1065 WDI_IBSS_MODE,
1066 WDI_BTAMP_STA_MODE,
1067 WDI_BTAMP_AP_MODE,
1068 WDI_BSS_AUTO_MODE,
1069}WDI_BssType;
1070
1071/*---------------------------------------------------------------------------
1072 WDI_NwType
1073---------------------------------------------------------------------------*/
1074typedef enum
1075{
1076 WDI_11A_NW_TYPE,
1077 WDI_11B_NW_TYPE,
1078 WDI_11G_NW_TYPE,
1079 WDI_11N_NW_TYPE,
1080} WDI_NwType;
1081
1082/*---------------------------------------------------------------------------
1083 WDI_ConfigAction
1084---------------------------------------------------------------------------*/
1085typedef enum
1086{
1087 WDI_ADD_BSS,
1088 WDI_UPDATE_BSS
1089} WDI_ConfigAction;
1090
1091/*---------------------------------------------------------------------------
1092 WDI_HTOperatingMode
1093---------------------------------------------------------------------------*/
1094typedef enum
1095{
1096 WDI_HT_OP_MODE_PURE,
1097 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1098 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1099 WDI_HT_OP_MODE_MIXED
1100
1101} WDI_HTOperatingMode;
1102
1103
1104/*---------------------------------------------------------------------------
1105 WDI_STAEntryType
1106---------------------------------------------------------------------------*/
1107typedef enum
1108{
1109 WDI_STA_ENTRY_SELF,
1110 WDI_STA_ENTRY_PEER,
1111 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001112 WDI_STA_ENTRY_BCAST,
1113#ifdef FEATURE_WLAN_TDLS
1114 WDI_STA_ENTRY_TDLS_PEER,
1115#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001116}WDI_STAEntryType;
1117
1118/*---------------------------------------------------------------------------
1119 WDI_ConfigActionType
1120---------------------------------------------------------------------------*/
1121typedef enum
1122{
1123 WDI_ADD_STA,
1124 WDI_UPDATE_STA
1125} WDI_ConfigActionType;
1126
1127/*----------------------------------------------------------------------------
1128 Each station added has a rate mode which specifies the sta attributes
1129 ----------------------------------------------------------------------------*/
1130typedef enum
1131{
1132 WDI_RESERVED_1 = 0,
1133 WDI_RESERVED_2,
1134 WDI_RESERVED_3,
1135 WDI_11b,
1136 WDI_11bg,
1137 WDI_11a,
1138 WDI_11n,
1139} WDI_RateModeType;
1140
1141/*---------------------------------------------------------------------------
1142 WDI_SupportedRatesType
1143---------------------------------------------------------------------------*/
1144typedef struct
1145{
1146 /*
1147 * For Self STA Entry: this represents Self Mode.
1148 * For Peer Stations, this represents the mode of the peer.
1149 * On Station:
1150 * --this mode is updated when PE adds the Self Entry.
1151 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1152 * ON AP:
1153 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1154 * to indicate the self mode of the AP.
1155 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1156 */
1157
1158 WDI_RateModeType opRateMode;
1159
1160 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1161 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1162 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1163 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1164
1165 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1166 First 26 bits are reserved for those Titan rates and
1167 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1168 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1169
1170 /*
1171 * 0-76 bits used, remaining reserved
1172 * bits 0-15 and 32 should be set.
1173 */
1174 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1175
1176 /*
1177 * RX Highest Supported Data Rate defines the highest data
1178 * rate that the STA is able to receive, in unites of 1Mbps.
1179 * This value is derived from "Supported MCS Set field" inside
1180 * the HT capability element.
1181 */
1182 wpt_uint16 aRxHighestDataRate;
1183
Jeff Johnsone7245742012-09-05 17:12:55 -07001184
1185#ifdef WLAN_FEATURE_11AC
1186 /*Indicates the Maximum MCS that can be received for each number
1187 of spacial streams */
1188 wpt_uint16 vhtRxMCSMap;
1189 /*Indicate the highest VHT data rate that the STA is able to receive*/
1190 wpt_uint16 vhtRxHighestDataRate;
1191 /*Indicates the Maximum MCS that can be transmitted for each number
1192 of spacial streams */
1193 wpt_uint16 vhtTxMCSMap;
1194 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1195 wpt_uint16 vhtTxHighestDataRate;
1196#endif
1197
Jeff Johnson295189b2012-06-20 16:38:30 -07001198} WDI_SupportedRates;
1199
1200/*--------------------------------------------------------------------------
1201 WDI_HTMIMOPowerSaveState
1202 Spatial Multiplexing(SM) Power Save mode
1203 --------------------------------------------------------------------------*/
1204typedef enum
1205{
1206 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1207 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1208 WDI_HT_MIMO_PS_NA = 2, // reserved
1209 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1210} WDI_HTMIMOPowerSaveState;
1211
1212/*---------------------------------------------------------------------------
1213 WDI_ConfigStaReqInfoType
1214---------------------------------------------------------------------------*/
1215typedef struct
1216{
1217 /*BSSID of STA*/
1218 wpt_macAddr macBSSID;
1219
1220 /*ASSOC ID, as assigned by UMAC*/
1221 wpt_uint16 usAssocId;
1222
1223 /*Used for configuration of different HW modules.*/
1224 WDI_STAEntryType wdiSTAType;
1225
1226 /*Short Preamble Supported.*/
1227 wpt_uint8 ucShortPreambleSupported;
1228
1229 /*MAC Address of STA*/
1230 wpt_macAddr macSTA;
1231
1232 /*Listen interval of the STA*/
1233 wpt_uint16 usListenInterval;
1234
1235 /*Support for 11e/WMM*/
1236 wpt_uint8 ucWMMEnabled;
1237
1238 /*11n HT capable STA*/
1239 wpt_uint8 ucHTCapable;
1240
1241 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1242 wpt_uint8 ucTXChannelWidthSet;
1243
1244 /*RIFS mode 0 - NA, 1 - Allowed*/
1245 wpt_uint8 ucRIFSMode;
1246
1247 /*L-SIG TXOP Protection mechanism
1248 0 - No Support, 1 - Supported
1249 SG - there is global field*/
1250 wpt_uint8 ucLSIGTxopProtection;
1251
1252 /*Max Ampdu Size supported by STA. Device programming.
1253 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1254 wpt_uint8 ucMaxAmpduSize;
1255
1256 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1257 wpt_uint8 ucMaxAmpduDensity;
1258
1259 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1260 wpt_uint8 ucMaxAmsduSize;
1261
1262 /*Short GI support for 40Mhz packets*/
1263 wpt_uint8 ucShortGI40Mhz;
1264
1265 /*Short GI support for 20Mhz packets*/
1266 wpt_uint8 ucShortGI20Mhz;
1267
1268 /*These rates are the intersection of peer and self capabilities.*/
1269 WDI_SupportedRates wdiSupportedRates;
1270
1271 /*Robust Management Frame (RMF) enabled/disabled*/
1272 wpt_uint8 ucRMFEnabled;
1273
1274 /* The unicast encryption type in the association */
1275 wpt_uint32 ucEncryptType;
1276
1277 /*HAL should update the existing STA entry, if this flag is set. UMAC
1278 will set this flag in case of RE-ASSOC, where we want to reuse the old
1279 STA ID.*/
1280 WDI_ConfigActionType wdiAction;
1281
1282 /*U-APSD Flags: 1b per AC. Encoded as follows:
1283 b7 b6 b5 b4 b3 b2 b1 b0 =
1284 X X X X BE BK VI VO
1285 */
1286 wpt_uint8 ucAPSD;
1287
1288 /*Max SP Length*/
1289 wpt_uint8 ucMaxSPLen;
1290
1291 /*11n Green Field preamble support*/
1292 wpt_uint8 ucGreenFieldCapable;
1293
1294 /*MIMO Power Save mode*/
1295 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1296
1297 /*Delayed BA Support*/
1298 wpt_uint8 ucDelayedBASupport;
1299
1300 /*Max AMPDU duration in 32us*/
1301 wpt_uint8 us32MaxAmpduDuratio;
1302
1303 /*HT STA should set it to 1 if it is enabled in BSS
1304 HT STA should set it to 0 if AP does not support it. This indication is
1305 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1306 */
1307 wpt_uint8 ucDsssCckMode40Mhz;
1308
1309 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001310#ifdef WLAN_FEATURE_11AC
1311 wpt_uint8 ucVhtCapableSta;
1312 wpt_uint8 ucVhtTxChannelWidthSet;
1313#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001314}WDI_ConfigStaReqInfoType;
1315
1316
1317/*---------------------------------------------------------------------------
1318 WDI_RateSet
1319
1320 12 Bytes long because this structure can be used to represent rate
1321 and extended rate set IEs
1322 The parser assume this to be at least 12
1323---------------------------------------------------------------------------*/
1324#define WDI_RATESET_EID_MAX 12
1325
1326typedef struct
1327{
1328 wpt_uint8 ucNumRates;
1329 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1330} WDI_RateSet;
1331
1332/*---------------------------------------------------------------------------
1333 WDI_AciAifsnType
1334 access category record
1335---------------------------------------------------------------------------*/
1336typedef struct
1337{
1338 wpt_uint8 rsvd : 1;
1339 wpt_uint8 aci : 2;
1340 wpt_uint8 acm : 1;
1341 wpt_uint8 aifsn : 4;
1342} WDI_AciAifsnType;
1343
1344/*---------------------------------------------------------------------------
1345 WDI_CWType
1346 contention window size
1347---------------------------------------------------------------------------*/
1348typedef struct
1349{
1350 wpt_uint8 max : 4;
1351 wpt_uint8 min : 4;
1352} WDI_CWType;
1353
1354/*---------------------------------------------------------------------------
1355 WDI_EdcaParamRecord
1356---------------------------------------------------------------------------*/
1357typedef struct
1358{
1359 /*Access Category Record*/
1360 WDI_AciAifsnType wdiACI;
1361
1362 /*Contention WIndow Size*/
1363 WDI_CWType wdiCW;
1364
1365 /*TX Oportunity Limit*/
1366 wpt_uint16 usTXOPLimit;
1367} WDI_EdcaParamRecord;
1368
1369/*---------------------------------------------------------------------------
1370 WDI_EDCAParamsType
1371---------------------------------------------------------------------------*/
1372typedef struct
1373{
1374 /*BSS Index*/
1375 wpt_uint8 ucBSSIdx;
1376
1377 /*?*/
1378 wpt_boolean bHighPerformance;
1379
1380 /*Best Effort*/
1381 WDI_EdcaParamRecord wdiACBE;
1382
1383 /*Background*/
1384 WDI_EdcaParamRecord wdiACBK;
1385
1386 /*Video*/
1387 WDI_EdcaParamRecord wdiACVI;
1388
1389 /*Voice*/
1390 WDI_EdcaParamRecord acvo; // voice
1391} WDI_EDCAParamsType;
1392
1393/* operMode in ADD BSS message */
1394#define WDI_BSS_OPERATIONAL_MODE_AP 0
1395#define WDI_BSS_OPERATIONAL_MODE_STA 1
1396
1397/*---------------------------------------------------------------------------
1398 WDI_ConfigBSSRspParamsType
1399---------------------------------------------------------------------------*/
1400typedef struct
1401{
1402 /*Status of the response*/
1403 WDI_Status wdiStatus;
1404
1405 /*BSSID of the BSS*/
1406 wpt_macAddr macBSSID;
1407
1408 /*BSS Index*/
1409 wpt_uint8 ucBSSIdx;
1410
1411 /*Unicast DPU signature*/
1412 wpt_uint8 ucUcastSig;
1413
1414 /*Broadcast DPU Signature*/
1415 wpt_uint8 ucBcastSig;
1416
1417 /*MAC Address of STA*/
1418 wpt_macAddr macSTA;
1419
1420 /*BSS STA ID*/
1421 wpt_uint8 ucSTAIdx;
1422
1423#ifdef WLAN_FEATURE_VOWIFI
1424 /*HAL fills in the tx power used for mgmt frames in this field */
1425 wpt_int8 ucTxMgmtPower;
1426#endif
1427
1428}WDI_ConfigBSSRspParamsType;
1429
1430/*---------------------------------------------------------------------------
1431 WDI_DelBSSReqParamsType
1432---------------------------------------------------------------------------*/
1433typedef struct
1434{
1435 /*BSS Index of the BSS*/
1436 wpt_uint8 ucBssIdx;
1437
1438 /*Request status callback offered by UMAC - it is called if the current
1439 req has returned PENDING as status; it delivers the status of sending
1440 the message over the BUS */
1441 WDI_ReqStatusCb wdiReqStatusCB;
1442
1443 /*The user data passed in by UMAC, it will be sent back when the above
1444 function pointer will be called */
1445 void* pUserData;
1446}WDI_DelBSSReqParamsType;
1447
1448/*---------------------------------------------------------------------------
1449 WDI_DelBSSRspParamsType
1450---------------------------------------------------------------------------*/
1451typedef struct
1452{
1453 /*Status of the response*/
1454 WDI_Status wdiStatus;
1455
1456 /*BSSID of the BSS*/
1457 wpt_macAddr macBSSID;
1458
1459 wpt_uint8 ucBssIdx;
1460
1461}WDI_DelBSSRspParamsType;
1462
1463/*---------------------------------------------------------------------------
1464 WDI_ConfigSTARspParamsType
1465---------------------------------------------------------------------------*/
1466typedef struct
1467{
1468 /*Status of the response*/
1469 WDI_Status wdiStatus;
1470
1471 /*STA Idx allocated by HAL*/
1472 wpt_uint8 ucSTAIdx;
1473
1474 /*MAC Address of STA*/
1475 wpt_macAddr macSTA;
1476
1477 /* BSSID Index of BSS to which the station is associated */
1478 wpt_uint8 ucBssIdx;
1479
1480 /* DPU Index - PTK */
1481 wpt_uint8 ucDpuIndex;
1482
1483 /* Bcast DPU Index - GTK */
1484 wpt_uint8 ucBcastDpuIndex;
1485
1486 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1487 wpt_uint8 ucBcastMgmtDpuIdx;
1488
1489 /*Unicast DPU signature*/
1490 wpt_uint8 ucUcastSig;
1491
1492 /*Broadcast DPU Signature*/
1493 wpt_uint8 ucBcastSig;
1494
1495 /* IGTK DPU signature*/
1496 wpt_uint8 ucMgmtSig;
1497
1498}WDI_ConfigSTARspParamsType;
1499
1500/*---------------------------------------------------------------------------
1501 WDI_PostAssocRspParamsType
1502---------------------------------------------------------------------------*/
1503typedef struct
1504{
1505 /*Status of the response*/
1506 WDI_Status wdiStatus;
1507
1508 /*Parameters related to the BSS*/
1509 WDI_ConfigBSSRspParamsType bssParams;
1510
1511 /*Parameters related to the self STA*/
1512 WDI_ConfigSTARspParamsType staParams;
1513
1514}WDI_PostAssocRspParamsType;
1515
1516/*---------------------------------------------------------------------------
1517 WDI_DelSTAReqParamsType
1518---------------------------------------------------------------------------*/
1519typedef struct
1520{
1521 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1522 wpt_uint8 ucSTAIdx;
1523
1524 /*Request status callback offered by UMAC - it is called if the current
1525 req has returned PENDING as status; it delivers the status of sending
1526 the message over the BUS */
1527 WDI_ReqStatusCb wdiReqStatusCB;
1528
1529 /*The user data passed in by UMAC, it will be sent back when the above
1530 function pointer will be called */
1531 void* pUserData;
1532}WDI_DelSTAReqParamsType;
1533
1534/*---------------------------------------------------------------------------
1535 WDI_DelSTARspParamsType
1536---------------------------------------------------------------------------*/
1537typedef struct
1538{
1539 /*Status of the response*/
1540 WDI_Status wdiStatus;
1541
1542 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1543 wpt_uint8 ucSTAIdx;
1544}WDI_DelSTARspParamsType;
1545
1546/*---------------------------------------------------------------------------
1547 WDI_EncryptType
1548---------------------------------------------------------------------------*/
1549typedef enum
1550{
1551 WDI_ENCR_NONE,
1552 WDI_ENCR_WEP40,
1553 WDI_ENCR_WEP104,
1554 WDI_ENCR_TKIP,
1555 WDI_ENCR_CCMP,
1556#if defined(FEATURE_WLAN_WAPI)
1557 WDI_ENCR_WPI,
1558#endif
1559 WDI_ENCR_AES_128_CMAC
1560} WDI_EncryptType;
1561
1562/*---------------------------------------------------------------------------
1563 WDI_KeyDirectionType
1564---------------------------------------------------------------------------*/
1565typedef enum
1566{
1567 WDI_TX_ONLY,
1568 WDI_RX_ONLY,
1569 WDI_TX_RX,
1570#ifdef WLAN_SOFTAP_FEATURE
1571 WDI_TX_DEFAULT,
1572#endif
1573 WDI_DONOT_USE_KEY_DIRECTION
1574} WDI_KeyDirectionType;
1575
1576#define WDI_MAX_ENCR_KEYS 4
1577#define WDI_MAX_KEY_LENGTH 32
1578#if defined(FEATURE_WLAN_WAPI)
1579#define WDI_MAX_KEY_RSC_LEN 16
1580#define WDI_WAPI_KEY_RSC_LEN 16
1581#else
1582#define WDI_MAX_KEY_RSC_LEN 8
1583#endif
1584
1585typedef struct
1586{
1587 /* Key ID */
1588 wpt_uint8 keyId;
1589 /* 0 for multicast */
1590 wpt_uint8 unicast;
1591 /* Key Direction */
1592 WDI_KeyDirectionType keyDirection;
1593 /* Usage is unknown */
1594 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1595 /* =1 for authenticator, =0 for supplicant */
1596 wpt_uint8 paeRole;
1597 wpt_uint16 keyLength;
1598 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1599
1600}WDI_KeysType;
1601
1602/*---------------------------------------------------------------------------
1603 WDI_SetBSSKeyReqInfoType
1604---------------------------------------------------------------------------*/
1605typedef struct
1606{
1607 /*BSS Index of the BSS*/
1608 wpt_uint8 ucBssIdx;
1609
1610 /*Encryption Type used with peer*/
1611 WDI_EncryptType wdiEncType;
1612
1613 /*Number of keys*/
1614 wpt_uint8 ucNumKeys;
1615
1616 /*Array of keys.*/
1617 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1618
1619 /*Control for Replay Count, 1= Single TID based replay count on Tx
1620 0 = Per TID based replay count on TX */
1621 wpt_uint8 ucSingleTidRc;
1622}WDI_SetBSSKeyReqInfoType;
1623
1624/*---------------------------------------------------------------------------
1625 WDI_SetBSSKeyReqParamsType
1626---------------------------------------------------------------------------*/
1627typedef struct
1628{
1629 /*Key Info */
1630 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
1631
1632 /*Request status callback offered by UMAC - it is called if the current
1633 req has returned PENDING as status; it delivers the status of sending
1634 the message over the BUS */
1635 WDI_ReqStatusCb wdiReqStatusCB;
1636
1637 /*The user data passed in by UMAC, it will be sent back when the above
1638 function pointer will be called */
1639 void* pUserData;
1640}WDI_SetBSSKeyReqParamsType;
1641
1642/*---------------------------------------------------------------------------
1643 WDI_WepType
1644---------------------------------------------------------------------------*/
1645typedef enum
1646{
1647 WDI_WEP_STATIC,
1648 WDI_WEP_DYNAMIC
1649
1650} WDI_WepType;
1651
1652/*---------------------------------------------------------------------------
1653 WDI_RemoveBSSKeyReqInfoType
1654---------------------------------------------------------------------------*/
1655typedef struct
1656{
1657 /*BSS Index of the BSS*/
1658 wpt_uint8 ucBssIdx;
1659
1660 /*Encryption Type used with peer*/
1661 WDI_EncryptType wdiEncType;
1662
1663 /*Key Id*/
1664 wpt_uint8 ucKeyId;
1665
1666 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
1667 keys*/
1668 WDI_WepType wdiWEPType;
1669}WDI_RemoveBSSKeyReqInfoType;
1670
1671/*---------------------------------------------------------------------------
1672 WDI_RemoveBSSKeyReqParamsType
1673---------------------------------------------------------------------------*/
1674typedef struct
1675{
1676 /*Key Info */
1677 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
1678
1679 /*Request status callback offered by UMAC - it is called if the current
1680 req has returned PENDING as status; it delivers the status of sending
1681 the message over the BUS */
1682 WDI_ReqStatusCb wdiReqStatusCB;
1683
1684 /*The user data passed in by UMAC, it will be sent back when the above
1685 function pointer will be called */
1686 void* pUserData;
1687}WDI_RemoveBSSKeyReqParamsType;
1688
1689/*---------------------------------------------------------------------------
1690 WDI_SetSTAKeyReqInfoType
1691---------------------------------------------------------------------------*/
1692typedef struct
1693{
1694 /*STA Index*/
1695 wpt_uint8 ucSTAIdx;
1696
1697 /*Encryption Type used with peer*/
1698 WDI_EncryptType wdiEncType;
1699
1700 /*STATIC/DYNAMIC*/
1701 WDI_WepType wdiWEPType;
1702
1703 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
1704 wpt_uint8 ucDefWEPIdx;
1705
1706 /*Number of keys*/
1707 wpt_uint8 ucNumKeys;
1708
1709 /*Array of keys.*/
1710 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
1711
1712 /*Control for Replay Count, 1= Single TID based replay count on Tx
1713 0 = Per TID based replay count on TX */
1714 wpt_uint8 ucSingleTidRc;
1715}WDI_SetSTAKeyReqInfoType;
1716
1717/*---------------------------------------------------------------------------
1718 WDI_ConfigBSSReqInfoType
1719---------------------------------------------------------------------------*/
1720typedef struct
1721{
1722 /*Peer BSSID*/
1723 wpt_macAddr macBSSID;
1724
1725 /*Self MAC Address*/
1726 wpt_macAddr macSelfAddr;
1727
1728 /*BSS Type*/
1729 WDI_BssType wdiBSSType;
1730
1731 /*Operational Mode: AP =0, STA = 1*/
1732 wpt_uint8 ucOperMode;
1733
1734 /*Network Type*/
1735 WDI_NwType wdiNWType;
1736
1737 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
1738 wpt_uint8 ucShortSlotTimeSupported;
1739
1740 /*Co-exist with 11a STA*/
1741 wpt_uint8 ucllaCoexist;
1742
1743 /*Co-exist with 11b STA*/
1744 wpt_uint8 ucllbCoexist;
1745
1746 /*Co-exist with 11g STA*/
1747 wpt_uint8 ucllgCoexist;
1748
1749 /*Coexistence with 11n STA*/
1750 wpt_uint8 ucHT20Coexist;
1751
1752 /*Non GF coexist flag*/
1753 wpt_uint8 ucllnNonGFCoexist;
1754
1755 /*TXOP protection support*/
1756 wpt_uint8 ucTXOPProtectionFullSupport;
1757
1758 /*RIFS mode*/
1759 wpt_uint8 ucRIFSMode;
1760
1761 /*Beacon Interval in TU*/
1762 wpt_uint16 usBeaconInterval;
1763
1764 /*DTIM period*/
1765 wpt_uint8 ucDTIMPeriod;
1766
1767 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1768 wpt_uint8 ucTXChannelWidthSet;
1769
1770 /*Operating channel*/
1771 wpt_uint8 ucCurrentOperChannel;
1772
1773 /*Extension channel for channel bonding*/
1774 wpt_uint8 ucCurrentExtChannel;
1775
1776 /*Context of the station being added in HW.*/
1777 WDI_ConfigStaReqInfoType wdiSTAContext;
1778
1779 /*SSID of the BSS*/
1780 WDI_MacSSid wdiSSID;
1781
1782 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
1783 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
1784 WDI_ConfigAction wdiAction;
1785
1786 /*Basic Rate Set*/
1787 WDI_RateSet wdiRateSet;
1788
1789 /*Enable/Disable HT capabilities of the BSS*/
1790 wpt_uint8 ucHTCapable;
1791
1792 /* Enable/Disable OBSS protection */
1793 wpt_uint8 ucObssProtEnabled;
1794
1795 /*RMF enabled/disabled*/
1796 wpt_uint8 ucRMFEnabled;
1797
1798 /*Determines the current HT Operating Mode operating mode of the
1799 802.11n STA*/
1800 WDI_HTOperatingMode wdiHTOperMod;
1801
1802 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
1803 wpt_uint8 ucDualCTSProtection;
1804
1805 /* Probe Response Max retries */
1806 wpt_uint8 ucMaxProbeRespRetryLimit;
1807
1808 /* To Enable Hidden ssid */
1809 wpt_uint8 bHiddenSSIDEn;
1810
1811 /* To Enable Disable FW Proxy Probe Resp */
1812 wpt_uint8 bProxyProbeRespEn;
1813
1814 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
1815 EDCA params or might not desire to apply EDCA params during config BSS.
1816 0 implies Not Valid ; Non-Zero implies valid*/
1817 wpt_uint8 ucEDCAParamsValid;
1818
1819 /*EDCA Parameters for BK*/
1820 WDI_EdcaParamRecord wdiBKEDCAParams;
1821
1822 /*EDCA Parameters for BE*/
1823 WDI_EdcaParamRecord wdiBEEDCAParams;
1824
1825 /*EDCA Parameters for VI*/
1826 WDI_EdcaParamRecord wdiVIEDCAParams;
1827
1828 /*EDCA Parameters for VO*/
1829 WDI_EdcaParamRecord wdiVOEDCAParams;
1830
1831#ifdef WLAN_FEATURE_VOWIFI
1832 /*max power to be used after applying the power constraint, if any */
1833 wpt_int8 cMaxTxPower;
1834#endif
1835
1836 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
1837 wpt_uint8 ucPersona;
1838
1839 /* Spectrum Mangement Indicator */
1840 wpt_uint8 bSpectrumMgtEn;
1841
1842#ifdef WLAN_FEATURE_VOWIFI_11R
1843 wpt_uint8 bExtSetStaKeyParamValid;
1844 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
1845#endif
1846
Jeff Johnsone7245742012-09-05 17:12:55 -07001847#ifdef WLAN_FEATURE_11AC
1848 wpt_uint8 ucVhtCapableSta;
1849 wpt_uint8 ucVhtTxChannelWidthSet;
1850#endif
1851
Jeff Johnson295189b2012-06-20 16:38:30 -07001852}WDI_ConfigBSSReqInfoType;
1853
1854/*---------------------------------------------------------------------------
1855 WDI_PostAssocReqParamsType
1856---------------------------------------------------------------------------*/
1857typedef struct
1858{
1859 /*Config STA arguments.*/
1860 WDI_ConfigStaReqInfoType wdiSTAParams;
1861
1862 /*Config BSS Arguments*/
1863 WDI_ConfigBSSReqInfoType wdiBSSParams;
1864
1865 /*Request status callback offered by UMAC - it is called if the current
1866 req has returned PENDING as status; it delivers the status of sending
1867 the message over the BUS */
1868 WDI_ReqStatusCb wdiReqStatusCB;
1869
1870 /*The user data passed in by UMAC, it will be sent back when the above
1871 function pointer will be called */
1872 void* pUserData;
1873}WDI_PostAssocReqParamsType;
1874
1875/*---------------------------------------------------------------------------
1876 WDI_ConfigBSSReqParamsType
1877---------------------------------------------------------------------------*/
1878typedef struct
1879{
1880 /*Info for the Join request that will be sent down to the device*/
1881 WDI_ConfigBSSReqInfoType wdiReqInfo;
1882
1883 /*Request status callback offered by UMAC - it is called if the current
1884 req has returned PENDING as status; it delivers the status of sending
1885 the message over the BUS */
1886 WDI_ReqStatusCb wdiReqStatusCB;
1887
1888 /*The user data passed in by UMAC, it will be sent back when the above
1889 function pointer will be called */
1890 void* pUserData;
1891}WDI_ConfigBSSReqParamsType;
1892
1893/*---------------------------------------------------------------------------
1894 WDI_SetSTAKeyReqParamsType
1895---------------------------------------------------------------------------*/
1896typedef struct
1897{
1898 /*Key Info*/
1899 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
1900
1901 /*Request status callback offered by UMAC - it is called if the current
1902 req has returned PENDING as status; it delivers the status of sending
1903 the message over the BUS */
1904 WDI_ReqStatusCb wdiReqStatusCB;
1905
1906 /*The user data passed in by UMAC, it will be sent back when the above
1907 function pointer will be called */
1908 void* pUserData;
1909}WDI_SetSTAKeyReqParamsType;
1910
1911/*---------------------------------------------------------------------------
1912 WDI_RemoveSTAKeyReqInfoType
1913---------------------------------------------------------------------------*/
1914typedef struct
1915{
1916 /*STA Index*/
1917 wpt_uint8 ucSTAIdx;
1918
1919 /*Encryption Type used with peer*/
1920 WDI_EncryptType wdiEncType;
1921
1922 /*Key Id*/
1923 wpt_uint8 ucKeyId;
1924
1925 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
1926 the same key is used for both broadcast and unicast.*/
1927 wpt_uint8 ucUnicast;
1928}WDI_RemoveSTAKeyReqInfoType;
1929
1930/*---------------------------------------------------------------------------
1931 WDI_RemoveSTAKeyReqParamsType
1932---------------------------------------------------------------------------*/
1933typedef struct
1934{
1935 /*Key Info */
1936 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
1937
1938 /*Request status callback offered by UMAC - it is called if the current
1939 req has returned PENDING as status; it delivers the status of sending
1940 the message over the BUS */
1941 WDI_ReqStatusCb wdiReqStatusCB;
1942
1943 /*The user data passed in by UMAC, it will be sent back when the above
1944 function pointer will be called */
1945 void* pUserData;
1946}WDI_RemoveSTAKeyReqParamsType;
1947
1948/*---------------------------------------------------------------------------
1949 QOS Parameters
1950---------------------------------------------------------------------------*/
1951
1952/*---------------------------------------------------------------------------
1953 WDI_TSInfoTfc
1954---------------------------------------------------------------------------*/
1955typedef struct
1956{
1957 wpt_uint16 ackPolicy:2;
1958 wpt_uint16 userPrio:3;
1959 wpt_uint16 psb:1;
1960 wpt_uint16 aggregation : 1;
1961 wpt_uint16 accessPolicy : 2;
1962 wpt_uint16 direction : 2;
1963 wpt_uint16 tsid : 4;
1964 wpt_uint16 trafficType : 1;
1965} WDI_TSInfoTfc;
1966
1967/*---------------------------------------------------------------------------
1968 WDI_TSInfoSch
1969---------------------------------------------------------------------------*/
1970typedef struct
1971{
1972 wpt_uint8 rsvd : 7;
1973 wpt_uint8 schedule : 1;
1974} WDI_TSInfoSch;
1975
1976/*---------------------------------------------------------------------------
1977 WDI_TSInfoType
1978---------------------------------------------------------------------------*/
1979typedef struct
1980{
1981 WDI_TSInfoTfc wdiTraffic;
1982 WDI_TSInfoSch wdiSchedule;
1983} WDI_TSInfoType;
1984
1985/*---------------------------------------------------------------------------
1986 WDI_TspecIEType
1987---------------------------------------------------------------------------*/
1988typedef struct
1989{
1990 wpt_uint8 ucType;
1991 wpt_uint8 ucLength;
1992 WDI_TSInfoType wdiTSinfo;
1993 wpt_uint16 usNomMsduSz;
1994 wpt_uint16 usMaxMsduSz;
1995 wpt_uint32 uMinSvcInterval;
1996 wpt_uint32 uMaxSvcInterval;
1997 wpt_uint32 uInactInterval;
1998 wpt_uint32 uSuspendInterval;
1999 wpt_uint32 uSvcStartTime;
2000 wpt_uint32 uMinDataRate;
2001 wpt_uint32 uMeanDataRate;
2002 wpt_uint32 uPeakDataRate;
2003 wpt_uint32 uMaxBurstSz;
2004 wpt_uint32 uDelayBound;
2005 wpt_uint32 uMinPhyRate;
2006 wpt_uint16 usSurplusBw;
2007 wpt_uint16 usMediumTime;
2008}WDI_TspecIEType;
2009
2010/*---------------------------------------------------------------------------
2011 WDI_AddTSReqInfoType
2012---------------------------------------------------------------------------*/
2013typedef struct
2014{
2015 /*STA Index*/
2016 wpt_uint8 ucSTAIdx;
2017
2018 /*Identifier for TSpec*/
2019 wpt_uint16 ucTspecIdx;
2020
2021 /*Tspec IE negotiated OTA*/
2022 WDI_TspecIEType wdiTspecIE;
2023
2024 /*UAPSD delivery and trigger enabled flags */
2025 wpt_uint8 ucUapsdFlags;
2026
2027 /*SI for each AC*/
2028 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2029
2030 /*Suspend Interval for each AC*/
2031 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2032
2033 /*DI for each AC*/
2034 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2035
2036}WDI_AddTSReqInfoType;
2037
2038
2039/*---------------------------------------------------------------------------
2040 WDI_AddTSReqParamsType
2041---------------------------------------------------------------------------*/
2042typedef struct
2043{
2044 /*TSpec Info */
2045 WDI_AddTSReqInfoType wdiTsInfo;
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_AddTSReqParamsType;
2056
2057/*---------------------------------------------------------------------------
2058 WDI_DelTSReqInfoType
2059---------------------------------------------------------------------------*/
2060typedef struct
2061{
2062 /*STA Index*/
2063 wpt_uint8 ucSTAIdx;
2064
2065 /*Identifier for TSpec*/
2066 wpt_uint16 ucTspecIdx;
2067
2068 /*BSSID of the BSS*/
2069 wpt_macAddr macBSSID;
2070}WDI_DelTSReqInfoType;
2071
2072/*---------------------------------------------------------------------------
2073 WDI_DelTSReqParamsType
2074---------------------------------------------------------------------------*/
2075typedef struct
2076{
2077 /*Del TSpec Info*/
2078 WDI_DelTSReqInfoType wdiDelTSInfo;
2079
2080 /*Request status callback offered by UMAC - it is called if the current
2081 req has returned PENDING as status; it delivers the status of sending
2082 the message over the BUS */
2083 WDI_ReqStatusCb wdiReqStatusCB;
2084
2085 /*The user data passed in by UMAC, it will be sent back when the above
2086 function pointer will be called */
2087 void* pUserData;
2088}WDI_DelTSReqParamsType;
2089
2090/*---------------------------------------------------------------------------
2091 WDI_UpdateEDCAInfoType
2092---------------------------------------------------------------------------*/
2093typedef struct
2094{
2095 /*BSS Index of the BSS*/
2096 wpt_uint8 ucBssIdx;
2097
2098 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2099 EDCA params or might not desire to apply EDCA params during config BSS.
2100 0 implies Not Valid ; Non-Zero implies valid*/
2101 wpt_uint8 ucEDCAParamsValid;
2102
2103 /*EDCA params for BE*/
2104 WDI_EdcaParamRecord wdiEdcaBEInfo;
2105
2106 /*EDCA params for BK*/
2107 WDI_EdcaParamRecord wdiEdcaBKInfo;
2108
2109 /*EDCA params for VI*/
2110 WDI_EdcaParamRecord wdiEdcaVIInfo;
2111
2112 /*EDCA params for VO*/
2113 WDI_EdcaParamRecord wdiEdcaVOInfo;
2114
2115}WDI_UpdateEDCAInfoType;
2116
2117/*---------------------------------------------------------------------------
2118 WDI_UpdateEDCAParamsType
2119---------------------------------------------------------------------------*/
2120typedef struct
2121{
2122 /*EDCA Info */
2123 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2124
2125 /*Request status callback offered by UMAC - it is called if the current
2126 req has returned PENDING as status; it delivers the status of sending
2127 the message over the BUS */
2128 WDI_ReqStatusCb wdiReqStatusCB;
2129
2130 /*The user data passed in by UMAC, it will be sent back when the above
2131 function pointer will be called */
2132 void* pUserData;
2133}WDI_UpdateEDCAParamsType;
2134
2135/*---------------------------------------------------------------------------
2136 WDI_AddBASessionReqinfoType
2137---------------------------------------------------------------------------*/
2138typedef struct
2139{
2140 /*Indicates the station for which BA is added..*/
2141 wpt_uint8 ucSTAIdx;
2142
2143 /*The peer mac address*/
2144 wpt_macAddr macPeerAddr;
2145
2146 /*TID for which BA was negotiated*/
2147 wpt_uint8 ucBaTID;
2148
2149 /*Delayed or imediate */
2150 wpt_uint8 ucBaPolicy;
2151
2152 /*The number of buffers for this TID (baTID)*/
2153 wpt_uint16 usBaBufferSize;
2154
2155 /*BA timeout in TU's*/
2156 wpt_uint16 usBaTimeout;
2157
2158 /*b0..b3 - Fragment Number - Always set to 0
2159 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2160 wpt_uint16 usBaSSN;
2161
2162 /*Originator/Recipient*/
2163 wpt_uint8 ucBaDirection;
2164
2165}WDI_AddBASessionReqinfoType;
2166
2167
2168/*---------------------------------------------------------------------------
2169 WDI_AddBASessionReqParamsType
2170---------------------------------------------------------------------------*/
2171typedef struct
2172{
2173 /*BA Session Info Type*/
2174 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2175
2176 /*Request status callback offered by UMAC - it is called if the current
2177 req has returned PENDING as status; it delivers the status of sending
2178 the message over the BUS */
2179 WDI_ReqStatusCb wdiReqStatusCB;
2180
2181 /*The user data passed in by UMAC, it will be sent back when the above
2182 function pointer will be called */
2183 void* pUserData;
2184}WDI_AddBASessionReqParamsType;
2185
2186/*---------------------------------------------------------------------------
2187 WDI_AddBASessionRspParamsType
2188---------------------------------------------------------------------------*/
2189typedef struct
2190{
2191 /*Status of the response*/
2192 WDI_Status wdiStatus;
2193
2194 /* Dialog token */
2195 wpt_uint8 ucBaDialogToken;
2196
2197 /* TID for which the BA session has been setup */
2198 wpt_uint8 ucBaTID;
2199
2200 /* BA Buffer Size allocated for the current BA session */
2201 wpt_uint8 ucBaBufferSize;
2202
2203 /* BA session ID */
2204 wpt_uint16 usBaSessionID;
2205
2206 /* Reordering Window buffer */
2207 wpt_uint8 ucWinSize;
2208
2209 /*Station Index to id the sta */
2210 wpt_uint8 ucSTAIdx;
2211
2212 /* Starting Sequence Number */
2213 wpt_uint16 usBaSSN;
2214
2215}WDI_AddBASessionRspParamsType;
2216
2217/*---------------------------------------------------------------------------
2218 WDI_AddBAReqinfoType
2219---------------------------------------------------------------------------*/
2220typedef struct
2221{
2222 /*Indicates the station for which BA is added..*/
2223 wpt_uint8 ucSTAIdx;
2224
2225 /* Session Id */
2226 wpt_uint8 ucBaSessionID;
2227
2228 /* Reorder Window Size */
2229 wpt_uint8 ucWinSize;
2230
2231#ifdef FEATURE_ON_CHIP_REORDERING
2232 wpt_boolean bIsReorderingDoneOnChip;
2233#endif
2234
2235}WDI_AddBAReqinfoType;
2236
2237
2238/*---------------------------------------------------------------------------
2239 WDI_AddBAReqParamsType
2240---------------------------------------------------------------------------*/
2241typedef struct
2242{
2243 /*BA Info Type*/
2244 WDI_AddBAReqinfoType wdiBAInfoType;
2245
2246 /*Request status callback offered by UMAC - it is called if the current
2247 req has returned PENDING as status; it delivers the status of sending
2248 the message over the BUS */
2249 WDI_ReqStatusCb wdiReqStatusCB;
2250
2251 /*The user data passed in by UMAC, it will be sent back when the above
2252 function pointer will be called */
2253 void* pUserData;
2254}WDI_AddBAReqParamsType;
2255
2256
2257/*---------------------------------------------------------------------------
2258 WDI_AddBARspinfoType
2259---------------------------------------------------------------------------*/
2260typedef struct
2261{
2262 /*Status of the response*/
2263 WDI_Status wdiStatus;
2264
2265 /* Dialog token */
2266 wpt_uint8 ucBaDialogToken;
2267
2268}WDI_AddBARspinfoType;
2269
2270/*---------------------------------------------------------------------------
2271 WDI_TriggerBAReqCandidateType
2272---------------------------------------------------------------------------*/
2273typedef struct
2274{
2275 /* STA index */
2276 wpt_uint8 ucSTAIdx;
2277
2278 /* TID bit map for the STA's*/
2279 wpt_uint8 ucTidBitmap;
2280
2281}WDI_TriggerBAReqCandidateType;
2282
2283
2284/*---------------------------------------------------------------------------
2285 WDI_TriggerBAReqinfoType
2286---------------------------------------------------------------------------*/
2287typedef struct
2288{
2289 /*Indicates the station for which BA is added..*/
2290 wpt_uint8 ucSTAIdx;
2291
2292 /* Session Id */
2293 wpt_uint8 ucBASessionID;
2294
2295 /* Trigger BA Request candidate count */
2296 wpt_uint16 usBACandidateCnt;
2297
2298 /* WDI_TriggerBAReqCandidateType followed by this*/
2299
2300}WDI_TriggerBAReqinfoType;
2301
2302
2303/*---------------------------------------------------------------------------
2304 WDI_TriggerBAReqParamsType
2305---------------------------------------------------------------------------*/
2306typedef struct
2307{
2308 /*BA Trigger Info Type*/
2309 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2310
2311 /*Request status callback offered by UMAC - it is called if the current
2312 req has returned PENDING as status; it delivers the status of sending
2313 the message over the BUS */
2314 WDI_ReqStatusCb wdiReqStatusCB;
2315
2316 /*The user data passed in by UMAC, it will be sent back when the above
2317 function pointer will be called */
2318 void* pUserData;
2319}WDI_TriggerBAReqParamsType;
2320
2321/*---------------------------------------------------------------------------
2322 WDI_AddBAInfoType
2323---------------------------------------------------------------------------*/
2324typedef struct
2325{
2326 wpt_uint16 fBaEnable : 1;
2327 wpt_uint16 startingSeqNum: 12;
2328 wpt_uint16 reserved : 3;
2329}WDI_AddBAInfoType;
2330
2331/*---------------------------------------------------------------------------
2332 WDI_TriggerBARspCandidateType
2333---------------------------------------------------------------------------*/
2334#define STA_MAX_TC 8
2335
2336typedef struct
2337{
2338 /* STA index */
2339 wpt_macAddr macSTA;
2340
2341 /* BA Info */
2342 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2343}WDI_TriggerBARspCandidateType;
2344
2345/*---------------------------------------------------------------------------
2346 WDI_TriggerBARspParamsType
2347---------------------------------------------------------------------------*/
2348typedef struct
2349{
2350 /*Status of the response*/
2351 WDI_Status wdiStatus;
2352
2353 /*BSSID of the BSS*/
2354 wpt_macAddr macBSSID;
2355
2356 /* Trigger BA response candidate count */
2357 wpt_uint16 usBaCandidateCnt;
2358
2359 /* WDI_TriggerBARspCandidateType followed by this*/
2360
2361}WDI_TriggerBARspParamsType;
2362
2363/*---------------------------------------------------------------------------
2364 WDI_DelBAReqinfoType
2365---------------------------------------------------------------------------*/
2366typedef struct
2367{
2368 /*Indicates the station for which BA is added..*/
2369 wpt_uint8 ucSTAIdx;
2370
2371 /*TID for which BA was negotiated*/
2372 wpt_uint8 ucBaTID;
2373
2374 /*Originator/Recipient*/
2375 wpt_uint8 ucBaDirection;
2376
2377}WDI_DelBAReqinfoType;
2378
2379/*---------------------------------------------------------------------------
2380 WDI_DelBAReqParamsType
2381---------------------------------------------------------------------------*/
2382typedef struct
2383{
2384 /*BA Info */
2385 WDI_DelBAReqinfoType wdiBAInfo;
2386
2387 /*Request status callback offered by UMAC - it is called if the current
2388 req has returned PENDING as status; it delivers the status of sending
2389 the message over the BUS */
2390 WDI_ReqStatusCb wdiReqStatusCB;
2391
2392 /*The user data passed in by UMAC, it will be sent back when the above
2393 function pointer will be called */
2394 void* pUserData;
2395}WDI_DelBAReqParamsType;
2396
2397
2398/*---------------------------------------------------------------------------
2399 WDI_SwitchCHRspParamsType
2400---------------------------------------------------------------------------*/
2401typedef struct
2402{
2403 /*Status of the response*/
2404 WDI_Status wdiStatus;
2405
2406 /*Indicates the channel that WLAN is on*/
2407 wpt_uint8 ucChannel;
2408
2409#ifdef WLAN_FEATURE_VOWIFI
2410 /*HAL fills in the tx power used for mgmt frames in this field.*/
2411 wpt_int8 ucTxMgmtPower;
2412#endif
2413
2414}WDI_SwitchCHRspParamsType;
2415
2416/*---------------------------------------------------------------------------
2417 WDI_ConfigSTAReqParamsType
2418---------------------------------------------------------------------------*/
2419typedef struct
2420{
2421 /*Info for the Join request that will be sent down to the device*/
2422 WDI_ConfigStaReqInfoType wdiReqInfo;
2423
2424 /*Request status callback offered by UMAC - it is called if the current
2425 req has returned PENDING as status; it delivers the status of sending
2426 the message over the BUS */
2427 WDI_ReqStatusCb wdiReqStatusCB;
2428
2429 /*The user data passed in by UMAC, it will be sent back when the above
2430 function pointer will be called */
2431 void* pUserData;
2432}WDI_ConfigSTAReqParamsType;
2433
2434
2435/*---------------------------------------------------------------------------
2436 WDI_UpdateBeaconParamsInfoType
2437---------------------------------------------------------------------------*/
2438
2439typedef struct
2440{
2441 /*BSS Index of the BSS*/
2442 wpt_uint8 ucBssIdx;
2443
2444 /*shortPreamble mode. HAL should update all the STA rates when it
2445 receives this message*/
2446 wpt_uint8 ucfShortPreamble;
2447 /* short Slot time.*/
2448 wpt_uint8 ucfShortSlotTime;
2449 /* Beacon Interval */
2450 wpt_uint16 usBeaconInterval;
2451 /*Protection related */
2452 wpt_uint8 ucllaCoexist;
2453 wpt_uint8 ucllbCoexist;
2454 wpt_uint8 ucllgCoexist;
2455 wpt_uint8 ucHt20MhzCoexist;
2456 wpt_uint8 ucllnNonGFCoexist;
2457 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2458 wpt_uint8 ucfRIFSMode;
2459
2460 wpt_uint16 usChangeBitmap;
2461}WDI_UpdateBeaconParamsInfoType;
2462
Mohit Khanna4a70d262012-09-11 16:30:12 -07002463#ifdef WLAN_FEATURE_11AC
2464typedef struct
2465{
2466 wpt_uint16 opMode;
2467 wpt_uint16 staId;
2468}WDI_UpdateVHTOpMode;
2469#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002470
2471/*---------------------------------------------------------------------------
2472 WDI_UpdateBeaconParamsType
2473---------------------------------------------------------------------------*/
2474typedef struct
2475{
2476 /*Update Beacon Params Info*/
2477 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2478
2479 /*Request status callback offered by UMAC - it is called if the current
2480 req has returned PENDING as status; it delivers the status of sending
2481 the message over the BUS */
2482 WDI_ReqStatusCb wdiReqStatusCB;
2483
2484 /*The user data passed in by UMAC, it will be sent back when the above
2485 function pointer will be called */
2486 void* pUserData;
2487}WDI_UpdateBeaconParamsType;
2488
2489/*---------------------------------------------------------------------------
2490 WDI_SendBeaconParamsInfoType
2491---------------------------------------------------------------------------*/
2492
2493typedef struct {
2494
2495 /*BSSID of the BSS*/
2496 wpt_macAddr macBSSID;
2497
2498 /* Beacon data */
2499 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2500
2501 /* length of the template */
2502 wpt_uint32 beaconLength;
2503
2504#ifdef WLAN_SOFTAP_FEATURE
2505 /* TIM IE offset from the beginning of the template.*/
2506 wpt_uint32 timIeOffset;
2507#endif
2508
2509#ifdef WLAN_FEATURE_P2P
2510 /* P2P IE offset from the beginning of the template */
2511 wpt_uint16 usP2PIeOffset;
2512#endif
2513} WDI_SendBeaconParamsInfoType;
2514
2515/*---------------------------------------------------------------------------
2516 WDI_SendBeaconParamsType
2517---------------------------------------------------------------------------*/
2518typedef struct
2519{
2520 /*Send Beacon Params Info*/
2521 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2522
2523 /*Request status callback offered by UMAC - it is called if the current
2524 req has returned PENDING as status; it delivers the status of sending
2525 the message over the BUS */
2526 WDI_ReqStatusCb wdiReqStatusCB;
2527
2528 /*The user data passed in by UMAC, it will be sent back when the above
2529 function pointer will be called */
2530 void* pUserData;
2531}WDI_SendBeaconParamsType;
2532
2533/*---------------------------------------------------------------------------
2534 WDI_LinkStateType
2535---------------------------------------------------------------------------*/
2536typedef enum
2537{
2538 WDI_LINK_IDLE_STATE = 0,
2539 WDI_LINK_PREASSOC_STATE = 1,
2540 WDI_LINK_POSTASSOC_STATE = 2,
2541 WDI_LINK_AP_STATE = 3,
2542 WDI_LINK_IBSS_STATE = 4,
2543
2544 // BT-AMP Case
2545 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2546 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2547 WDI_LINK_BTAMP_AP_STATE = 7,
2548 WDI_LINK_BTAMP_STA_STATE = 8,
2549
2550 // Reserved for HAL internal use
2551 WDI_LINK_LEARN_STATE = 9,
2552 WDI_LINK_SCAN_STATE = 10,
2553 WDI_LINK_FINISH_SCAN_STATE = 11,
2554 WDI_LINK_INIT_CAL_STATE = 12,
2555 WDI_LINK_FINISH_CAL_STATE = 13,
2556#ifdef WLAN_FEATURE_P2P
2557 WDI_LINK_LISTEN_STATE = 14,
2558#endif
2559 WDI_LINK_MAX = 0x7FFFFFFF
2560} WDI_LinkStateType;
2561
2562/*---------------------------------------------------------------------------
2563 WDI_SetLinkReqInfoType
2564---------------------------------------------------------------------------*/
2565typedef struct
2566{
2567 /*BSSID of the BSS*/
2568 wpt_macAddr macBSSID;
2569
2570 /*Link state*/
2571 WDI_LinkStateType wdiLinkState;
2572
2573 /*BSSID of the BSS*/
2574 wpt_macAddr macSelfStaMacAddr;
2575}WDI_SetLinkReqInfoType;
2576
2577/*---------------------------------------------------------------------------
2578 WDI_SetLinkReqParamsType
2579---------------------------------------------------------------------------*/
2580typedef struct
2581{
2582 /*Link Info*/
2583 WDI_SetLinkReqInfoType wdiLinkInfo;
2584
2585 /*Request status callback offered by UMAC - it is called if the current
2586 req has returned PENDING as status; it delivers the status of sending
2587 the message over the BUS */
2588 WDI_ReqStatusCb wdiReqStatusCB;
2589
2590 /*The user data passed in by UMAC, it will be sent back when the above
2591 function pointer will be called */
2592 void* pUserData;
2593}WDI_SetLinkReqParamsType;
2594
2595/*---------------------------------------------------------------------------
2596 WDI_GetStatsParamsInfoType
2597---------------------------------------------------------------------------*/
2598typedef struct
2599{
2600 /*Indicates the station for which Get Stats are requested..*/
2601 wpt_uint8 ucSTAIdx;
2602
2603 /* categories of stats requested */
2604 wpt_uint32 uStatsMask;
2605}WDI_GetStatsParamsInfoType;
2606
2607/*---------------------------------------------------------------------------
2608 WDI_GetStatsReqParamsType
2609---------------------------------------------------------------------------*/
2610typedef struct
2611{
2612 /*Get Stats Params Info*/
2613 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2614
2615 /*Request status callback offered by UMAC - it is called if the current
2616 req has returned PENDING as status; it delivers the status of sending
2617 the message over the BUS */
2618 WDI_ReqStatusCb wdiReqStatusCB;
2619
2620 /*The user data passed in by UMAC, it will be sent back when the above
2621 function pointer will be called */
2622 void* pUserData;
2623}WDI_GetStatsReqParamsType;
2624
2625/*---------------------------------------------------------------------------
2626 WDI_GetStatsRspParamsType
2627---------------------------------------------------------------------------*/
2628typedef struct
2629{
2630 /*message type is same as the request type*/
2631 wpt_uint16 usMsgType;
2632
2633 /* length of the entire request, includes the pStatsBuf length too*/
2634 wpt_uint16 usMsgLen;
2635
2636 /*Result of the operation*/
2637 WDI_Status wdiStatus;
2638
2639 /*Indicates the station for which Get Stats are requested..*/
2640 wpt_uint8 ucSTAIdx;
2641
2642 /* categories of stats requested */
2643 wpt_uint32 uStatsMask;
2644
2645 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2646 * structure depending on statsMask.*/
2647}WDI_GetStatsRspParamsType;
2648
2649#ifdef FEATURE_WLAN_CCX
2650/*---------------------------------------------------------------------------
2651 WDI_TSMStatsParamsInfoType
2652---------------------------------------------------------------------------*/
2653typedef struct
2654{
2655 /*Indicates the station for which Get Stats are requested..*/
2656 wpt_uint8 ucTid;
2657
2658 wpt_macAddr bssid;
2659}WDI_TSMStatsParamsInfoType;
2660
2661/*---------------------------------------------------------------------------
2662 WDI_TSMStatsReqParamsType
2663---------------------------------------------------------------------------*/
2664typedef struct
2665{
2666 /*Get TSM Stats Params Info*/
2667 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
2668
2669 WDI_ReqStatusCb wdiReqStatusCB;
2670
2671 /*The user data passed in by UMAC, it will be sent back when the above
2672 function pointer will be called */
2673 void* pUserData;
2674
2675}WDI_TSMStatsReqParamsType;
2676
2677
2678/*---------------------------------------------------------------------------
2679 WDI_TSMStatsRspParamsType
2680---------------------------------------------------------------------------*/
2681typedef struct
2682{
2683 /*Indicates the status of the operation */
2684 WDI_Status wdiStatus;
2685
2686 wpt_uint16 UplinkPktQueueDly;
2687 wpt_uint16 UplinkPktQueueDlyHist[4];
2688 wpt_uint32 UplinkPktTxDly;
2689 wpt_uint16 UplinkPktLoss;
2690 wpt_uint16 UplinkPktCount;
2691 wpt_uint8 RoamingCount;
2692 wpt_uint16 RoamingDly;
2693}WDI_TSMStatsRspParamsType;
2694
2695
2696#endif
2697/*---------------------------------------------------------------------------
2698 WDI_UpdateCfgReqParamsType
2699---------------------------------------------------------------------------*/
2700typedef struct
2701{
2702 /*This is a TLV formatted buffer containing all config values that can
2703 be set through the DAL Interface
2704
2705 The TLV is expected to be formatted like this:
2706
2707 0 7 15 31 ....
2708 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
2709
2710 Or from a C construct point of VU it would look like this:
2711
2712 typedef struct WPT_PACK_POST
2713 {
2714 #ifdef WPT_BIG_ENDIAN
2715 wpt_uint32 ucCfgId:8;
2716 wpt_uint32 ucCfgLen:8;
2717 wpt_uint32 usReserved:16;
2718 #else
2719 wpt_uint32 usReserved:16;
2720 wpt_uint32 ucCfgLen:8;
2721 wpt_uint32 ucCfgId:8;
2722 #endif
2723
2724 wpt_uint8 ucCfgBody[ucCfgLen];
2725 }WDI_ConfigType;
2726
2727 Multiple such tuplets are to be placed in the config buffer. One for
2728 each required configuration item:
2729
2730 | TLV 1 | TLV2 | ....
2731
2732 The buffer is expected to be a flat area of memory that can be manipulated
2733 with standard memory routines.
2734
2735 For more info please check paragraph 2.3.1 Config Structure from the
2736 HAL LLD.
2737
2738 For a list of accepted configuration list and IDs please look up
2739 wlan_qct_dal_cfg.h
2740 */
2741 void* pConfigBuffer;
2742
2743 /*Length of the config buffer above*/
2744 wpt_uint32 uConfigBufferLen;
2745
2746 /*Request status callback offered by UMAC - it is called if the current
2747 req has returned PENDING as status; it delivers the status of sending
2748 the message over the BUS */
2749 WDI_ReqStatusCb wdiReqStatusCB;
2750
2751 /*The user data passed in by UMAC, it will be sent back when the above
2752 function pointer will be called */
2753 void* pUserData;
2754}WDI_UpdateCfgReqParamsType;
2755
2756/*---------------------------------------------------------------------------
2757 WDI_UpdateProbeRspTemplateInfoType
2758---------------------------------------------------------------------------*/
2759//Default Beacon template size
2760#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
2761
2762#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
2763
2764typedef struct
2765{
2766 /*BSSID for which the Probe Template is to be used*/
2767 wpt_macAddr macBSSID;
2768
2769 /*Probe response template*/
2770 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
2771
2772 /*Template Len*/
2773 wpt_uint32 uProbeRespTemplateLen;
2774
2775 /*Bitmap for the IEs that are to be handled at SLM level*/
2776 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
2777
2778}WDI_UpdateProbeRspTemplateInfoType;
2779
2780/*---------------------------------------------------------------------------
2781 WDI_UpdateProbeRspParamsType
2782---------------------------------------------------------------------------*/
2783typedef struct
2784{
2785 /*Link Info*/
2786 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
2787
2788 /*Request status callback offered by UMAC - it is called if the current
2789 req has returned PENDING as status; it delivers the status of sending
2790 the message over the BUS */
2791 WDI_ReqStatusCb wdiReqStatusCB;
2792
2793 /*The user data passed in by UMAC, it will be sent back when the above
2794 function pointer will be called */
2795 void* pUserData;
2796}WDI_UpdateProbeRspTemplateParamsType;
2797
2798/*---------------------------------------------------------------------------
2799 WDI_NvDownloadReqBlobInfo
2800---------------------------------------------------------------------------*/
2801
2802typedef struct
2803{
2804 /* Blob starting address*/
2805 void *pBlobAddress;
2806
2807 /* Blob size */
2808 wpt_uint32 uBlobSize;
2809
2810}WDI_NvDownloadReqBlobInfo;
2811
2812/*---------------------------------------------------------------------------
2813 WDI_NvDownloadReqParamsType
2814---------------------------------------------------------------------------*/
2815typedef struct
2816{
2817 /*NV Blob Info*/
2818 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
2819
2820 /*Request status callback offered by UMAC - it is called if the current
2821 req has returned PENDING as status; it delivers the status of sending
2822 the message over the BUS */
2823 WDI_ReqStatusCb wdiReqStatusCB;
2824
2825 /*The user data passed in by UMAC, it will be sent back when the above
2826 function pointer will be called */
2827 void* pUserData;
2828
2829}WDI_NvDownloadReqParamsType;
2830
2831/*---------------------------------------------------------------------------
2832 WDI_NvDownloadRspInfoType
2833---------------------------------------------------------------------------*/
2834typedef struct
2835{
2836 /*Status of the response*/
2837 WDI_Status wdiStatus;
2838
2839}WDI_NvDownloadRspInfoType;
2840
2841/*---------------------------------------------------------------------------
2842 WDI_SetMaxTxPowerInfoType
2843---------------------------------------------------------------------------*/
2844
2845typedef struct
2846{
2847 /*BSSID is needed to identify which session issued this request. As the request has
2848 power constraints, this should be applied only to that session*/
2849 wpt_macAddr macBSSId;
2850
2851
2852 wpt_macAddr macSelfStaMacAddr;
2853
2854 /* In request power == MaxTxpower to be used.*/
2855 wpt_int8 ucPower;
2856
2857}WDI_SetMaxTxPowerInfoType;
2858
2859/*---------------------------------------------------------------------------
2860 WDI_SetMaxTxPowerParamsType
2861---------------------------------------------------------------------------*/
2862typedef struct
2863{
2864 /*Link Info*/
2865 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
2866
2867 /*Request status callback offered by UMAC - it is called if the current
2868 req has returned PENDING as status; it delivers the status of sending
2869 the message over the BUS */
2870 WDI_ReqStatusCb wdiReqStatusCB;
2871
2872 /*The user data passed in by UMAC, it will be sent back when the above
2873 function pointer will be called */
2874 void* pUserData;
2875}WDI_SetMaxTxPowerParamsType;
2876
2877
2878/*---------------------------------------------------------------------------
2879 WDI_SetMaxTxPowerRspMsg
2880---------------------------------------------------------------------------*/
2881
2882typedef struct
2883{
2884 /* In response, power==tx power used for management frames*/
2885 wpt_int8 ucPower;
2886
2887 /*Result of the operation*/
2888 WDI_Status wdiStatus;
2889
2890}WDI_SetMaxTxPowerRspMsg;
2891
2892#ifdef WLAN_FEATURE_P2P
2893typedef struct
2894{
2895 wpt_uint8 ucOpp_ps;
2896 wpt_uint32 uCtWindow;
2897 wpt_uint8 ucCount;
2898 wpt_uint32 uDuration;
2899 wpt_uint32 uInterval;
2900 wpt_uint32 uSingle_noa_duration;
2901 wpt_uint8 ucPsSelection;
2902}WDI_SetP2PGONOAReqInfoType;
2903
2904/*---------------------------------------------------------------------------
2905 WDI_SetP2PGONOAReqParamsType
2906---------------------------------------------------------------------------*/
2907typedef struct
2908{
2909 /*P2P GO NOA Req*/
2910 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
2911
2912 /*Request status callback offered by UMAC - it is called if the current
2913 req has returned PENDING as status; it delivers the status of sending
2914 the message over the BUS */
2915 WDI_ReqStatusCb wdiReqStatusCB;
2916
2917 /*The user data passed in by UMAC, it will be sent back when the above
2918 function pointer will be called */
2919 void* pUserData;
2920}WDI_SetP2PGONOAReqParamsType;
2921#endif
2922
2923
2924/*---------------------------------------------------------------------------
2925 WDI_SetAddSTASelfParamsType
2926---------------------------------------------------------------------------*/
2927typedef struct
2928{
2929 /*Self Station MAC address*/
2930 wpt_macAddr selfMacAddr;
2931
2932 /*Status of the operation*/
2933 wpt_uint32 uStatus;
2934}WDI_AddSTASelfInfoType;
2935
2936/*---------------------------------------------------------------------------
2937 WDI_SetAddSTASelfParamsType
2938---------------------------------------------------------------------------*/
2939typedef struct
2940{
2941 /* Add Sta Self Req */
2942 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
2943
2944 /*Request status callback offered by UMAC - it is called if the current
2945 req has returned PENDING as status; it delivers the status of sending
2946 the message over the BUS */
2947 WDI_ReqStatusCb wdiReqStatusCB;
2948
2949 /*The user data passed in by UMAC, it will be sent back when the above
2950 function pointer will be called */
2951 void* pUserData;
2952}WDI_AddSTASelfReqParamsType;
2953
2954
2955/*---------------------------------------------------------------------------
2956 WDI_AddSTASelfRspParamsType
2957---------------------------------------------------------------------------*/
2958typedef struct
2959{
2960 /*Status of the response*/
2961 WDI_Status wdiStatus;
2962
2963 /*STA Idx allocated by HAL*/
2964 wpt_uint8 ucSTASelfIdx;
2965
2966 /* DPU Index (IGTK, PTK, GTK all same) */
2967 wpt_uint8 dpuIdx;
2968
2969 /* DPU Signature */
2970 wpt_uint8 dpuSignature;
2971
2972 /*Self STA Mac*/
2973 wpt_macAddr macSelfSta;
2974
2975}WDI_AddSTASelfRspParamsType;
2976
2977/*---------------------------------------------------------------------------
2978 WDI_DelSTASelfReqParamsType
2979 Del Sta Self info passed to WDI form WDA
2980---------------------------------------------------------------------------*/
2981typedef struct
2982{
2983 wpt_macAddr selfMacAddr;
2984
2985}WDI_DelSTASelfInfoType;
2986
2987/*---------------------------------------------------------------------------
2988 WDI_DelSTASelfReqParamsType
2989 Del Sta Self info passed to WDI form WDA
2990---------------------------------------------------------------------------*/
2991typedef struct
2992{
2993 /*Del Sta Self Info Type */
2994 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
2995 /*Request status callback offered by UMAC - it is called if the current req
2996 has returned PENDING as status; it delivers the status of sending the message
2997 over the BUS */
2998 WDI_ReqStatusCb wdiReqStatusCB;
2999 /*The user data passed in by UMAC, it will be sent back when the above
3000 function pointer will be called */
3001 void* pUserData;
3002}WDI_DelSTASelfReqParamsType;
3003
3004/*---------------------------------------------------------------------------
3005 WDI_DelSTASelfRspParamsType
3006---------------------------------------------------------------------------*/
3007typedef struct
3008{
3009 /*Status of the response*/
3010 WDI_Status wdiStatus;
3011
3012 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3013// wpt_uint8 ucSTAIdx;
3014}WDI_DelSTASelfRspParamsType;
3015
3016/*---------------------------------------------------------------------------
3017 WDI_UapsdInfoType
3018 UAPSD parameters passed per AC to WDA from UMAC
3019---------------------------------------------------------------------------*/
3020typedef struct
3021{
3022 wpt_uint8 ucSTAIdx; // STA index
3023 wpt_uint8 ucAc; // Access Category
3024 wpt_uint8 ucUp; // User Priority
3025 wpt_uint32 uSrvInterval; // Service Interval
3026 wpt_uint32 uSusInterval; // Suspend Interval
3027 wpt_uint32 uDelayInterval; // Delay Interval
3028} WDI_UapsdInfoType;
3029
3030/*---------------------------------------------------------------------------
3031 WDI_SetUapsdAcParamsReqParamsType
3032 UAPSD parameters passed per AC to WDI from WDA
3033---------------------------------------------------------------------------*/
3034typedef struct
3035{
3036 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3037 WDI_UapsdInfoType wdiUapsdInfo;
3038 /*Request status callback offered by UMAC - it is called if the current req
3039 has returned PENDING as status; it delivers the status of sending the message
3040 over the BUS */
3041 WDI_ReqStatusCb wdiReqStatusCB;
3042 /*The user data passed in by UMAC, it will be sent back when the above
3043 function pointer will be called */
3044 void* pUserData;
3045}WDI_SetUapsdAcParamsReqParamsType;
3046
3047/*---------------------------------------------------------------------------
3048 WDI_EnterBmpsReqinfoType
3049 Enter BMPS parameters passed to WDA from UMAC
3050---------------------------------------------------------------------------*/
3051typedef struct
3052{
3053 //TBTT value derived from the last beacon
3054 wpt_uint8 ucBssIdx;
3055 wpt_uint64 uTbtt;
3056 wpt_uint8 ucDtimCount;
3057 //DTIM period given to HAL during association may not be valid,
3058 //if association is based on ProbeRsp instead of beacon.
3059 wpt_uint8 ucDtimPeriod;
3060 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3061 DXE when DXE wakes up from power save*/
3062 unsigned int dxePhyAddr;
3063
3064 // For CCX and 11R Roaming
3065 wpt_uint32 rssiFilterPeriod;
3066 wpt_uint32 numBeaconPerRssiAverage;
3067 wpt_uint8 bRssiFilterEnable;
3068}WDI_EnterBmpsReqinfoType;
3069
3070/*---------------------------------------------------------------------------
3071 WDI_EnterBmpsReqParamsType
3072 Enter BMPS parameters passed to WDI from WDA
3073---------------------------------------------------------------------------*/
3074typedef struct
3075{
3076 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3077 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3078 /*Request status callback offered by UMAC - it is called if the current req
3079 has returned PENDING as status; it delivers the status of sending the message
3080 over the BUS */
3081 WDI_ReqStatusCb wdiReqStatusCB;
3082 /*The user data passed in by UMAC, it will be sent back when the above
3083 function pointer will be called */
3084 void* pUserData;
3085}WDI_EnterBmpsReqParamsType;
3086
3087/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003088 WDI_EnterBmpsReqParamsType
3089 Enter BMPS parameters passed from WDI to WDA
3090---------------------------------------------------------------------------*/
3091typedef struct
3092{
3093 /*Status of the response*/
3094 WDI_Status wdiStatus;
3095
3096 /*BssIDX of the session*/
3097 wpt_uint8 bssIdx;
3098}WDI_EnterBmpsRspParamsType;
3099
3100/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003101 WDI_ExitBmpsReqinfoType
3102 Exit BMPS parameters passed to WDA from UMAC
3103---------------------------------------------------------------------------*/
3104typedef struct
3105{
3106 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003107 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003108}WDI_ExitBmpsReqinfoType;
3109
3110/*---------------------------------------------------------------------------
3111 WDI_ExitBmpsReqParamsType
3112 Exit BMPS parameters passed to WDI from WDA
3113---------------------------------------------------------------------------*/
3114typedef struct
3115{
3116 /*Exit BMPS Info Type, same as tExitBmpsParams */
3117 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3118 /*Request status callback offered by UMAC - it is called if the current req
3119 has returned PENDING as status; it delivers the status of sending the message
3120 over the BUS */
3121 WDI_ReqStatusCb wdiReqStatusCB;
3122 /*The user data passed in by UMAC, it will be sent back when the above
3123 function pointer will be called */
3124 void* pUserData;
3125}WDI_ExitBmpsReqParamsType;
3126
3127/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003128 WDI_ExitBmpsReqParamsType
3129 Exit BMPS parameters passed from WDI to WDA
3130---------------------------------------------------------------------------*/
3131typedef struct
3132{
3133 /*Status of the response*/
3134 WDI_Status wdiStatus;
3135
3136 /*BssIDX of the session*/
3137 wpt_uint8 bssIdx;
3138}WDI_ExitBmpsRspParamsType;
3139
3140/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003141 WDI_EnterUapsdReqinfoType
3142 Enter UAPSD parameters passed to WDA from UMAC
3143---------------------------------------------------------------------------*/
3144typedef struct
3145{
3146 wpt_uint8 ucBkDeliveryEnabled:1;
3147 wpt_uint8 ucBeDeliveryEnabled:1;
3148 wpt_uint8 ucViDeliveryEnabled:1;
3149 wpt_uint8 ucVoDeliveryEnabled:1;
3150 wpt_uint8 ucBkTriggerEnabled:1;
3151 wpt_uint8 ucBeTriggerEnabled:1;
3152 wpt_uint8 ucViTriggerEnabled:1;
3153 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003154 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003155}WDI_EnterUapsdReqinfoType;
3156
3157/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003158 WDI_EnterUapsdRspParamsType
3159 Enter UAPSD parameters passed from WDI to WDA
3160---------------------------------------------------------------------------*/
3161typedef struct
3162{
3163 /*Status of the response*/
3164 WDI_Status wdiStatus;
3165
3166 /*BssIDX of the session*/
3167 wpt_uint8 bssIdx;
3168}WDI_EnterUapsdRspParamsType;
3169
3170/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003171 WDI_EnterUapsdReqinfoType
3172 Enter UAPSD parameters passed to WDI from WDA
3173---------------------------------------------------------------------------*/
3174typedef struct
3175{
3176 /*Enter UAPSD Info Type, same as tUapsdParams */
3177 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3178 /*Request status callback offered by UMAC - it is called if the current req
3179 has returned PENDING as status; it delivers the status of sending the message
3180 over the BUS */
3181 WDI_ReqStatusCb wdiReqStatusCB;
3182 /*The user data passed in by UMAC, it will be sent back when the above
3183 function pointer will be called */
3184 void* pUserData;
3185}WDI_EnterUapsdReqParamsType;
3186
3187/*---------------------------------------------------------------------------
3188 WDI_UpdateUapsdReqinfoType
3189 Update UAPSD parameters passed to WDA from UMAC
3190---------------------------------------------------------------------------*/
3191typedef struct
3192{
3193 wpt_uint8 ucSTAIdx;
3194 wpt_uint8 ucUapsdACMask;
3195 wpt_uint32 uMaxSpLen;
3196}WDI_UpdateUapsdReqinfoType;
3197
3198/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003199 WDI_ExitUapsdReqinfoType
3200 Exit UAPSD parameters passed to WDA from UMAC
3201---------------------------------------------------------------------------*/
3202typedef struct
3203{
3204 wpt_uint8 bssIdx;
3205}WDI_ExitUapsdReqinfoType;
3206
3207/*---------------------------------------------------------------------------
3208 WDI_ExitUapsdReqParamsType
3209 Exit UAPSD parameters passed to WDI from WDA
3210---------------------------------------------------------------------------*/
3211typedef struct
3212{
3213 /*Exit UAPSD Info Type, same as tUapsdParams */
3214 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3215 /*Request status callback offered by UMAC - it is called if the current req
3216 has returned PENDING as status; it delivers the status of sending the message
3217 over the BUS */
3218 WDI_ReqStatusCb wdiReqStatusCB;
3219 /*The user data passed in by UMAC, it will be sent back when the above
3220 function pointer will be called */
3221 void* pUserData;
3222}WDI_ExitUapsdReqParamsType;
3223
3224/*---------------------------------------------------------------------------
3225 WDI_ExitUapsdRspParamsType
3226 Exit UAPSD parameters passed from WDI to WDA
3227---------------------------------------------------------------------------*/
3228typedef struct
3229{
3230 /*Status of the response*/
3231 WDI_Status wdiStatus;
3232
3233 /*BssIDX of the session*/
3234 wpt_uint8 bssIdx;
3235}WDI_ExitUapsdRspParamsType;
3236
3237/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003238 WDI_UpdateUapsdReqParamsType
3239 Update UAPSD parameters passed to WDI form WDA
3240---------------------------------------------------------------------------*/
3241typedef struct
3242{
3243 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3244 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3245 /*Request status callback offered by UMAC - it is called if the current req
3246 has returned PENDING as status; it delivers the status of sending the message
3247 over the BUS */
3248 WDI_ReqStatusCb wdiReqStatusCB;
3249 /*The user data passed in by UMAC, it will be sent back when the above
3250 function pointer will be called */
3251 void* pUserData;
3252}WDI_UpdateUapsdReqParamsType;
3253
3254/*---------------------------------------------------------------------------
3255 WDI_ConfigureRxpFilterReqParamsType
3256 RXP filter parameters passed to WDI form WDA
3257---------------------------------------------------------------------------*/
3258typedef struct
3259{
3260 /* Mode of Mcast and Bcast filters configured */
3261 wpt_uint8 ucSetMcstBcstFilterSetting;
3262
3263 /* Mcast Bcast Filters enable/disable*/
3264 wpt_uint8 ucSetMcstBcstFilter;
3265}WDI_RxpFilterReqParamsType;
3266
3267typedef struct
3268{
3269 /* Rxp Filter */
3270 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3271
3272 /*Request status callback offered by UMAC - it is called if the current req
3273 has returned PENDING as status; it delivers the status of sending the message
3274 over the BUS */
3275 WDI_ReqStatusCb wdiReqStatusCB;
3276 /*The user data passed in by UMAC, it will be sent back when the above
3277 function pointer will be called */
3278 void* pUserData;
3279}WDI_ConfigureRxpFilterReqParamsType;
3280
3281/*---------------------------------------------------------------------------
3282 WDI_BeaconFilterInfoType
3283 Beacon Filtering data structures passed to WDA form UMAC
3284---------------------------------------------------------------------------*/
3285typedef struct
3286{
3287 wpt_uint16 usCapabilityInfo;
3288 wpt_uint16 usCapabilityMask;
3289 wpt_uint16 usBeaconInterval;
3290 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003291 wpt_uint8 bssIdx;
3292 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003293}WDI_BeaconFilterInfoType;
3294
3295/*---------------------------------------------------------------------------
3296 WDI_BeaconFilterReqParamsType
3297 Beacon Filtering parameters passed to WDI form WDA
3298---------------------------------------------------------------------------*/
3299typedef struct
3300{
3301 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3302 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3303 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3304 copy of params from WDA to WDI */
3305 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
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_BeaconFilterReqParamsType;
3314
3315/*---------------------------------------------------------------------------
3316 WDI_RemBeaconFilterInfoType
3317 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3318---------------------------------------------------------------------------*/
3319typedef struct
3320{
3321 wpt_uint8 ucIeCount;
3322 wpt_uint8 ucRemIeId[1];
3323}WDI_RemBeaconFilterInfoType;
3324
3325/*---------------------------------------------------------------------------
3326 WDI_RemBeaconFilterReqParamsType
3327 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3328---------------------------------------------------------------------------*/
3329typedef struct
3330{
3331 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3332 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3333 /*Request status callback offered by UMAC - it is called if the current req
3334 has returned PENDING as status; it delivers the status of sending the message
3335 over the BUS */
3336 WDI_ReqStatusCb wdiReqStatusCB;
3337 /*The user data passed in by UMAC, it will be sent back when the above
3338 function pointer will be called */
3339 void* pUserData;
3340}WDI_RemBeaconFilterReqParamsType;
3341
3342/*---------------------------------------------------------------------------
3343 WDI_RSSIThresholdsType
3344 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3345---------------------------------------------------------------------------*/
3346typedef struct
3347{
3348 wpt_int8 ucRssiThreshold1 : 8;
3349 wpt_int8 ucRssiThreshold2 : 8;
3350 wpt_int8 ucRssiThreshold3 : 8;
3351 wpt_uint8 bRssiThres1PosNotify : 1;
3352 wpt_uint8 bRssiThres1NegNotify : 1;
3353 wpt_uint8 bRssiThres2PosNotify : 1;
3354 wpt_uint8 bRssiThres2NegNotify : 1;
3355 wpt_uint8 bRssiThres3PosNotify : 1;
3356 wpt_uint8 bRssiThres3NegNotify : 1;
3357 wpt_uint8 bReserved10 : 2;
3358} WDI_RSSIThresholdsType;
3359
3360/*---------------------------------------------------------------------------
3361 WDI_SetRSSIThresholdsReqParamsType
3362 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3363---------------------------------------------------------------------------*/
3364typedef struct
3365{
3366 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3367 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3368 /*Request status callback offered by UMAC - it is called if the current req
3369 has returned PENDING as status; it delivers the status of sending the message
3370 over the BUS */
3371 WDI_ReqStatusCb wdiReqStatusCB;
3372 /*The user data passed in by UMAC, it will be sent back when the above
3373 function pointer will be called */
3374 void* pUserData;
3375}WDI_SetRSSIThresholdsReqParamsType;
3376
3377/*---------------------------------------------------------------------------
3378 WDI_HostOffloadReqType
3379 host offload info passed to WDA form UMAC
3380---------------------------------------------------------------------------*/
3381#ifdef WLAN_NS_OFFLOAD
3382typedef struct
3383{
3384 wpt_uint8 srcIPv6Addr[16];
3385 wpt_uint8 selfIPv6Addr[16];
3386 //Only support 2 possible Network Advertisement IPv6 address
3387 wpt_uint8 targetIPv6Addr1[16];
3388 wpt_uint8 targetIPv6Addr2[16];
3389 wpt_uint8 selfMacAddr[6];
3390 wpt_uint8 srcIPv6AddrValid : 1;
3391 wpt_uint8 targetIPv6Addr1Valid : 1;
3392 wpt_uint8 targetIPv6Addr2Valid : 1;
3393} WDI_NSOffloadParams;
3394#endif //WLAN_NS_OFFLOAD
3395
3396typedef struct
3397{
3398 wpt_uint8 ucOffloadType;
3399 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003400 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003401 union
3402 {
3403 wpt_uint8 aHostIpv4Addr [4];
3404 wpt_uint8 aHostIpv6Addr [16];
3405 } params;
3406} WDI_HostOffloadReqType;
3407
3408/*---------------------------------------------------------------------------
3409 WDI_HostOffloadReqParamsType
3410 host offload info passed to WDI form WDA
3411---------------------------------------------------------------------------*/
3412typedef struct
3413{
3414 /*Host offload Info Type, same as tHalHostOffloadReq */
3415 WDI_HostOffloadReqType wdiHostOffloadInfo;
3416#ifdef WLAN_NS_OFFLOAD
3417 WDI_NSOffloadParams wdiNsOffloadParams;
3418#endif //WLAN_NS_OFFLOAD
3419 /*Request status callback offered by UMAC - it is called if the current req
3420 has returned PENDING as status; it delivers the status of sending the message
3421 over the BUS */
3422 WDI_ReqStatusCb wdiReqStatusCB;
3423 /*The user data passed in by UMAC, it will be sent back when the above
3424 function pointer will be called */
3425 void* pUserData;
3426}WDI_HostOffloadReqParamsType;
3427
3428/*---------------------------------------------------------------------------
3429 WDI_KeepAliveReqType
3430 Keep Alive info passed to WDA form UMAC
3431---------------------------------------------------------------------------*/
3432typedef struct
3433{
3434 wpt_uint8 ucPacketType;
3435 wpt_uint32 ucTimePeriod;
3436 wpt_uint8 aHostIpv4Addr[4];
3437 wpt_uint8 aDestIpv4Addr[4];
3438 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003439 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003440} WDI_KeepAliveReqType;
3441
3442/*---------------------------------------------------------------------------
3443 WDI_KeepAliveReqParamsType
3444 Keep Alive passed to WDI form WDA
3445---------------------------------------------------------------------------*/
3446typedef struct
3447{
3448 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3449 WDI_KeepAliveReqType wdiKeepAliveInfo;
3450 /*Request status callback offered by UMAC - it is called if the current req
3451 has returned PENDING as status; it delivers the status of sending the message
3452 over the BUS */
3453 WDI_ReqStatusCb wdiReqStatusCB;
3454 /*The user data passed in by UMAC, it will be sent back when the above
3455 function pointer will be called */
3456 void* pUserData;
3457}WDI_KeepAliveReqParamsType;
3458
3459/*---------------------------------------------------------------------------
3460 WDI_WowlAddBcPtrnInfoType
3461 Wowl add ptrn info passed to WDA form UMAC
3462---------------------------------------------------------------------------*/
3463typedef struct
3464{
3465 wpt_uint8 ucPatternId; // Pattern ID
3466 // Pattern byte offset from beginning of the 802.11 packet to start of the
3467 // wake-up pattern
3468 wpt_uint8 ucPatternByteOffset;
3469 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3470 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3471 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3472 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3473 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3474 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003475 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003476} WDI_WowlAddBcPtrnInfoType;
3477
3478/*---------------------------------------------------------------------------
3479 WDI_WowlAddBcPtrnReqParamsType
3480 Wowl add ptrn info passed to WDI form WDA
3481---------------------------------------------------------------------------*/
3482typedef struct
3483{
3484 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3485 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3486 /*Request status callback offered by UMAC - it is called if the current req
3487 has returned PENDING as status; it delivers the status of sending the message
3488 over the BUS */
3489 WDI_ReqStatusCb wdiReqStatusCB;
3490 /*The user data passed in by UMAC, it will be sent back when the above
3491 function pointer will be called */
3492 void* pUserData;
3493}WDI_WowlAddBcPtrnReqParamsType;
3494
3495/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003496 WDI_WowlAddBcPtrnRspParamsType
3497 Wowl add ptrn info passed from WDI to WDA
3498---------------------------------------------------------------------------*/
3499typedef struct
3500{
3501 /*Status of the response*/
3502 WDI_Status wdiStatus;
3503 /*BssIDX of the session*/
3504 wpt_uint8 bssIdx;
3505}WDI_WowlAddBcPtrnRspParamsType;
3506
3507/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003508 WDI_WowlDelBcPtrnInfoType
3509 Wowl add ptrn info passed to WDA form UMAC
3510---------------------------------------------------------------------------*/
3511typedef struct
3512{
3513 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003514 wpt_uint8 ucPatternId;
3515 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003516} WDI_WowlDelBcPtrnInfoType;
3517
3518/*---------------------------------------------------------------------------
3519 WDI_WowlDelBcPtrnReqParamsType
3520 Wowl add ptrn info passed to WDI form WDA
3521---------------------------------------------------------------------------*/
3522typedef struct
3523{
3524 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
3525 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
3526 /*Request status callback offered by UMAC - it is called if the current req
3527 has returned PENDING as status; it delivers the status of sending the message
3528 over the BUS */
3529 WDI_ReqStatusCb wdiReqStatusCB;
3530 /*The user data passed in by UMAC, it will be sent back when the above
3531 function pointer will be called */
3532 void* pUserData;
3533}WDI_WowlDelBcPtrnReqParamsType;
3534
3535/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003536 WDI_WowlDelBcPtrnRspParamsType
3537 Wowl Del ptrn info passed from WDI to WDA
3538---------------------------------------------------------------------------*/
3539typedef struct
3540{
3541 /*Status of the response*/
3542 WDI_Status wdiStatus;
3543 /*BssIDX of the session*/
3544 wpt_uint8 bssIdx;
3545}WDI_WowlDelBcPtrnRspParamsType;
3546
3547/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003548 WDI_WowlEnterInfoType
3549 Wowl enter info passed to WDA form UMAC
3550---------------------------------------------------------------------------*/
3551typedef struct
3552{
3553 /* Enables/disables magic packet filtering */
3554 wpt_uint8 ucMagicPktEnable;
3555
3556 /* Magic pattern */
3557 wpt_macAddr magicPtrn;
3558
3559 /* Enables/disables packet pattern filtering in firmware.
3560 Enabling this flag enables broadcast pattern matching
3561 in Firmware. If unicast pattern matching is also desired,
3562 ucUcastPatternFilteringEnable flag must be set tot true
3563 as well
3564 */
3565 wpt_uint8 ucPatternFilteringEnable;
3566
3567 /* Enables/disables unicast packet pattern filtering.
3568 This flag specifies whether we want to do pattern match
3569 on unicast packets as well and not just broadcast packets.
3570 This flag has no effect if the ucPatternFilteringEnable
3571 (main controlling flag) is set to false
3572 */
3573 wpt_uint8 ucUcastPatternFilteringEnable;
3574
3575 /* This configuration is valid only when magicPktEnable=1.
3576 * It requests hardware to wake up when it receives the
3577 * Channel Switch Action Frame.
3578 */
3579 wpt_uint8 ucWowChnlSwitchRcv;
3580
3581 /* This configuration is valid only when magicPktEnable=1.
3582 * It requests hardware to wake up when it receives the
3583 * Deauthentication Frame.
3584 */
3585 wpt_uint8 ucWowDeauthRcv;
3586
3587 /* This configuration is valid only when magicPktEnable=1.
3588 * It requests hardware to wake up when it receives the
3589 * Disassociation Frame.
3590 */
3591 wpt_uint8 ucWowDisassocRcv;
3592
3593 /* This configuration is valid only when magicPktEnable=1.
3594 * It requests hardware to wake up when it has missed
3595 * consecutive beacons. This is a hardware register
3596 * configuration (NOT a firmware configuration).
3597 */
3598 wpt_uint8 ucWowMaxMissedBeacons;
3599
3600 /* This configuration is valid only when magicPktEnable=1.
3601 * This is a timeout value in units of microsec. It requests
3602 * hardware to unconditionally wake up after it has stayed
3603 * in WoWLAN mode for some time. Set 0 to disable this feature.
3604 */
3605 wpt_uint8 ucWowMaxSleepUsec;
3606
3607#ifdef WLAN_WAKEUP_EVENTS
3608 /* This configuration directs the WoW packet filtering to look for EAP-ID
3609 * requests embedded in EAPOL frames and use this as a wake source.
3610 */
3611 wpt_uint8 ucWoWEAPIDRequestEnable;
3612
3613 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
3614 * requests and use this as a wake source.
3615 */
3616 wpt_uint8 ucWoWEAPOL4WayEnable;
3617
3618 /* This configuration allows a host wakeup on an network scan offload match.
3619 */
3620 wpt_uint8 ucWowNetScanOffloadMatch;
3621
3622 /* This configuration allows a host wakeup on any GTK rekeying error.
3623 */
3624 wpt_uint8 ucWowGTKRekeyError;
3625
3626 /* This configuration allows a host wakeup on BSS connection loss.
3627 */
3628 wpt_uint8 ucWoWBSSConnLoss;
3629#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003630
3631 /* BSSIDX used to find the current session
3632 */
3633 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003634} WDI_WowlEnterInfoType;
3635
3636/*---------------------------------------------------------------------------
3637 WDI_WowlEnterReqParamsType
3638 Wowl enter info passed to WDI form WDA
3639---------------------------------------------------------------------------*/
3640typedef struct
3641{
3642 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3643 WDI_WowlEnterInfoType wdiWowlEnterInfo;
3644 /*Request status callback offered by UMAC - it is called if the current req
3645 has returned PENDING as status; it delivers the status of sending the message
3646 over the BUS */
3647 WDI_ReqStatusCb wdiReqStatusCB;
3648 /*The user data passed in by UMAC, it will be sent back when the above
3649 function pointer will be called */
3650 void* pUserData;
3651}WDI_WowlEnterReqParamsType;
3652
3653/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003654 WDI_WowlEnterRsqParamsType
3655 Wowl enter info passed from WDI to WDA
3656---------------------------------------------------------------------------*/
3657typedef struct
3658{
3659 /*Status of the response message*/
3660 WDI_Status status;
3661
3662 /* BSSIDX used to find the current session
3663 */
3664 wpt_uint8 bssIdx;
3665}WDI_WowlEnterRspParamsType;
3666
3667/*---------------------------------------------------------------------------
3668 WDI_WowlExitInfoType
3669 Wowl exit info passed to WDA form UMAC
3670 ---------------------------------------------------------------------------*/
3671typedef struct
3672{
3673 /* BSSIDX used to find the current session
3674 */
3675 wpt_uint8 bssIdx;
3676} WDI_WowlExitInfoType;
3677
3678/*---------------------------------------------------------------------------
3679 WDI_WowlExitReqParamsType
3680 Wowl exit info passed to WDI form WDA
3681---------------------------------------------------------------------------*/
3682typedef struct
3683{
3684 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3685 WDI_WowlExitInfoType wdiWowlExitInfo;
3686 /*Request status callback offered by UMAC - it is called if the current req
3687 has returned PENDING as status; it delivers the status of sending the message
3688 over the BUS */
3689 WDI_ReqStatusCb wdiReqStatusCB;
3690 /*The user data passed in by UMAC, it will be sent back when the above
3691 function pointer will be called */
3692 void* pUserData;
3693}WDI_WowlExitReqParamsType;
3694
3695/*---------------------------------------------------------------------------
3696 WDI_WowlExitRspParamsType
3697 Wowl exit info passed from WDI to WDA
3698---------------------------------------------------------------------------*/
3699typedef struct
3700{
3701 /*Status of the response message*/
3702 WDI_Status status;
3703
3704 /* BSSIDX used to find the current session
3705 */
3706 wpt_uint8 bssIdx;
3707}WDI_WowlExitRspParamsType;
3708
3709/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003710 WDI_ConfigureAppsCpuWakeupStateReqParamsType
3711 Apps Cpu Wakeup State parameters passed to WDI form WDA
3712---------------------------------------------------------------------------*/
3713typedef struct
3714{
3715 /*Depicts the state of the Apps CPU */
3716 wpt_boolean bIsAppsAwake;
3717 /*Request status callback offered by UMAC - it is called if the current req
3718 has returned PENDING as status; it delivers the status of sending the message
3719 over the BUS */
3720 WDI_ReqStatusCb wdiReqStatusCB;
3721 /*The user data passed in by UMAC, it will be sent back when the above
3722 function pointer will be called */
3723 void* pUserData;
3724}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
3725/*---------------------------------------------------------------------------
3726 WDI_FlushAcReqinfoType
3727---------------------------------------------------------------------------*/
3728typedef struct
3729{
3730 // Message Type
3731 wpt_uint16 usMesgType;
3732
3733 // Message Length
3734 wpt_uint16 usMesgLen;
3735
3736 // Station Index. originates from HAL
3737 wpt_uint8 ucSTAId;
3738
3739 // TID for which the transmit queue is being flushed
3740 wpt_uint8 ucTid;
3741
3742}WDI_FlushAcReqinfoType;
3743
3744/*---------------------------------------------------------------------------
3745 WDI_FlushAcReqParamsType
3746---------------------------------------------------------------------------*/
3747typedef struct
3748{
3749 /*AC Info */
3750 WDI_FlushAcReqinfoType wdiFlushAcInfo;
3751
3752 /*Request status callback offered by UMAC - it is called if the current
3753 req has returned PENDING as status; it delivers the status of sending
3754 the message over the BUS */
3755 WDI_ReqStatusCb wdiReqStatusCB;
3756
3757 /*The user data passed in by UMAC, it will be sent back when the above
3758 function pointer will be called */
3759 void* pUserData;
3760}WDI_FlushAcReqParamsType;
3761
3762/*---------------------------------------------------------------------------
3763 WDI_BtAmpEventinfoType
3764 BT-AMP Event Structure
3765---------------------------------------------------------------------------*/
3766typedef struct
3767{
3768 wpt_uint8 ucBtAmpEventType;
3769
3770} WDI_BtAmpEventinfoType;
3771
3772/*---------------------------------------------------------------------------
3773 WDI_BtAmpEventParamsType
3774---------------------------------------------------------------------------*/
3775typedef struct
3776{
3777 /*BT AMP event Info */
3778 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
3779
3780 /*Request status callback offered by UMAC - it is called if the current
3781 req has returned PENDING as status; it delivers the status of sending
3782 the message over the BUS */
3783 WDI_ReqStatusCb wdiReqStatusCB;
3784
3785 /*The user data passed in by UMAC, it will be sent back when the above
3786 function pointer will be called */
3787 void* pUserData;
3788}WDI_BtAmpEventParamsType;
3789
Jeff Johnsone7245742012-09-05 17:12:55 -07003790#ifdef FEATURE_OEM_DATA_SUPPORT
3791
3792#ifndef OEM_DATA_REQ_SIZE
3793#define OEM_DATA_REQ_SIZE 70
3794#endif
3795#ifndef OEM_DATA_RSP_SIZE
3796#define OEM_DATA_RSP_SIZE 968
3797#endif
3798
3799/*----------------------------------------------------------------------------
3800 WDI_oemDataReqInfoType
3801----------------------------------------------------------------------------*/
3802typedef struct
3803{
3804 wpt_macAddr selfMacAddr;
3805 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
3806}WDI_oemDataReqInfoType;
3807
3808/*----------------------------------------------------------------------------
3809 WDI_oemDataReqParamsType
3810----------------------------------------------------------------------------*/
3811typedef struct
3812{
3813 /*Request status callback offered by UMAC - it is called if the current
3814 req has returned PENDING as status; it delivers the status of sending
3815 the message over the BUS */
3816 WDI_ReqStatusCb wdiReqStatusCB;
3817
3818 /*The user data passed in by UMAC, it will be sent back when the above
3819 function pointer will be called */
3820 void* pUserData;
3821
3822 /*OEM DATA REQ Info */
3823 WDI_oemDataReqInfoType wdiOemDataReqInfo;
3824
3825}WDI_oemDataReqParamsType;
3826
3827/*----------------------------------------------------------------------------
3828 WDI_oemDataRspParamsType
3829----------------------------------------------------------------------------*/
3830typedef struct
3831{
3832 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
3833}WDI_oemDataRspParamsType;
3834
3835#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07003836
3837#ifdef WLAN_FEATURE_VOWIFI_11R
3838/*---------------------------------------------------------------------------
3839 WDI_AggrAddTSReqInfoType
3840---------------------------------------------------------------------------*/
3841typedef struct
3842{
3843 /*STA Index*/
3844 wpt_uint8 ucSTAIdx;
3845
3846 /*Identifier for TSpec*/
3847 wpt_uint8 ucTspecIdx;
3848
3849 /*Tspec IE negotiated OTA*/
3850 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
3851
3852 /*UAPSD delivery and trigger enabled flags */
3853 wpt_uint8 ucUapsdFlags;
3854
3855 /*SI for each AC*/
3856 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
3857
3858 /*Suspend Interval for each AC*/
3859 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
3860
3861 /*DI for each AC*/
3862 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
3863
3864}WDI_AggrAddTSReqInfoType;
3865
3866
3867/*---------------------------------------------------------------------------
3868 WDI_AggrAddTSReqParamsType
3869---------------------------------------------------------------------------*/
3870typedef struct
3871{
3872 /*TSpec Info */
3873 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
3874
3875 /*Request status callback offered by UMAC - it is called if the current
3876 req has returned PENDING as status; it delivers the status of sending
3877 the message over the BUS */
3878 WDI_ReqStatusCb wdiReqStatusCB;
3879
3880 /*The user data passed in by UMAC, it will be sent back when the above
3881 function pointer will be called */
3882 void* pUserData;
3883}WDI_AggrAddTSReqParamsType;
3884
3885#endif /* WLAN_FEATURE_VOWIFI_11R */
3886
3887#ifdef ANI_MANF_DIAG
3888/*---------------------------------------------------------------------------
3889 WDI_FTMCommandReqType
3890---------------------------------------------------------------------------*/
3891typedef struct
3892{
3893 /* FTM Command Body length */
3894 wpt_uint32 bodyLength;
3895 /* Actual FTM Command body */
3896 void *FTMCommandBody;
3897}WDI_FTMCommandReqType;
3898#endif /* ANI_MANF_DIAG */
3899
3900/*---------------------------------------------------------------------------
3901 WDI_WlanSuspendInfoType
3902---------------------------------------------------------------------------*/
3903typedef struct
3904{
3905 /* Mode of Mcast and Bcast filters configured */
3906 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
3907}WDI_WlanSuspendInfoType;
3908
3909/*---------------------------------------------------------------------------
3910 WDI_SuspendParamsType
3911---------------------------------------------------------------------------*/
3912typedef struct
3913{
3914 WDI_WlanSuspendInfoType wdiSuspendParams;
3915
3916 /*Request status callback offered by UMAC - it is called if the current
3917 req has returned PENDING as status; it delivers the status of sending
3918 the message over the BUS */
3919 WDI_ReqStatusCb wdiReqStatusCB;
3920
3921 /*The user data passed in by UMAC, it will be sent back when the above
3922 function pointer will be called */
3923 void* pUserData;
3924
3925}WDI_SuspendParamsType;
3926
3927/*---------------------------------------------------------------------------
3928 WDI_WlanResumeInfoType
3929---------------------------------------------------------------------------*/
3930typedef struct
3931{
3932 /* Mode of Mcast and Bcast filters configured */
3933 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
3934}WDI_WlanResumeInfoType;
3935
3936/*---------------------------------------------------------------------------
3937 WDI_ResumeParamsType
3938---------------------------------------------------------------------------*/
3939typedef struct
3940{
3941 WDI_WlanResumeInfoType wdiResumeParams;
3942
3943 /*Request status callback offered by UMAC - it is called if the current
3944 req has returned PENDING as status; it delivers the status of sending
3945 the message over the BUS */
3946 WDI_ReqStatusCb wdiReqStatusCB;
3947
3948 /*The user data passed in by UMAC, it will be sent back when the above
3949 function pointer will be called */
3950 void* pUserData;
3951
3952}WDI_ResumeParamsType;
3953
3954#ifdef WLAN_FEATURE_GTK_OFFLOAD
3955/*---------------------------------------------------------------------------
3956 * WDI_GTK_OFFLOAD_REQ
3957 *--------------------------------------------------------------------------*/
3958
3959typedef struct
3960{
3961 wpt_uint32 ulFlags; /* optional flags */
3962 wpt_uint8 aKCK[16]; /* Key confirmation key */
3963 wpt_uint8 aKEK[16]; /* key encryption key */
3964 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003965 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003966} WDI_GtkOffloadReqParams;
3967
3968typedef struct
3969{
3970 WDI_GtkOffloadReqParams gtkOffloadReqParams;
3971
3972 /*Request status callback offered by UMAC - it is called if the current
3973 req has returned PENDING as status; it delivers the status of sending
3974 the message over the BUS */
3975 WDI_ReqStatusCb wdiReqStatusCB;
3976
3977 /*The user data passed in by UMAC, it will be sent back when the above
3978 function pointer will be called */
3979 void* pUserData;
3980} WDI_GtkOffloadReqMsg;
3981
3982/*---------------------------------------------------------------------------
3983 * WDI_GTK_OFFLOAD_RSP
3984 *--------------------------------------------------------------------------*/
3985typedef struct
3986{
3987 /* success or failure */
3988 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003989 /*BssIdx of the response */
3990 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003991} WDI_GtkOffloadRspParams;
3992
3993typedef struct
3994{
3995 WDI_GtkOffloadRspParams gtkOffloadRspParams;
3996
3997 /*Request status callback offered by UMAC - it is called if the current
3998 req has returned PENDING as status; it delivers the status of sending
3999 the message over the BUS */
4000 WDI_ReqStatusCb wdiReqStatusCB;
4001
4002 /*The user data passed in by UMAC, it will be sent back when the above
4003 function pointer will be called */
4004 void* pUserData;
4005} WDI_GtkOffloadRspMsg;
4006
4007
4008/*---------------------------------------------------------------------------
4009* WDI_GTK_OFFLOAD_GETINFO_REQ
4010*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004011typedef struct
4012{
4013 /*BssIdx of the response */
4014 wpt_macAddr bssId;
4015} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004016
4017typedef struct
4018{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004019
4020 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004021 /*Request status callback offered by UMAC - it is called if the current
4022 req has returned PENDING as status; it delivers the status of sending
4023 the message over the BUS */
4024 WDI_ReqStatusCb wdiReqStatusCB;
4025
4026 /*The user data passed in by UMAC, it will be sent back when the above
4027 function pointer will be called */
4028 void* pUserData;
4029} WDI_GtkOffloadGetInfoReqMsg;
4030
4031/*---------------------------------------------------------------------------
4032* WDI_GTK_OFFLOAD_GETINFO_RSP
4033*--------------------------------------------------------------------------*/
4034typedef struct
4035{
4036 wpt_uint32 ulStatus; /* success or failure */
4037 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4038 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4039 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4040 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004041 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004042} WDI_GtkOffloadGetInfoRspParams;
4043
4044typedef struct
4045{
4046 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4047
4048 /*Request status callback offered by UMAC - it is called if the current
4049 req has returned PENDING as status; it delivers the status of sending
4050 the message over the BUS */
4051 WDI_ReqStatusCb wdiReqStatusCB;
4052
4053 /*The user data passed in by UMAC, it will be sent back when the above
4054 function pointer will be called */
4055 void* pUserData;
4056} WDI_GtkOffloadGetInfoRspMsg;
4057#endif // WLAN_FEATURE_GTK_OFFLOAD
4058
4059/*---------------------------------------------------------------------------
4060 WDI_SuspendResumeRspParamsType
4061---------------------------------------------------------------------------*/
4062typedef struct
4063{
4064 /*Status of the response*/
4065 WDI_Status wdiStatus;
4066}WDI_SuspendResumeRspParamsType;
4067
4068
4069#ifdef FEATURE_WLAN_SCAN_PNO
4070
4071/*Max number of channels for a given network supported by PNO*/
4072#define WDI_PNO_MAX_NETW_CHANNELS 26
4073
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304074/*Max number of channels for a given network supported by PNO*/
4075#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4076
Jeff Johnson295189b2012-06-20 16:38:30 -07004077/*The max number of programable networks for PNO*/
4078#define WDI_PNO_MAX_SUPP_NETWORKS 16
4079
4080/*The max number of scan timers programable in Riva*/
4081#define WDI_PNO_MAX_SCAN_TIMERS 10
4082
4083#define WDI_PNO_MAX_PROBE_SIZE 450
4084
4085
4086/*---------------------------------------------------------------------------
4087 WDI_AuthType
4088---------------------------------------------------------------------------*/
4089typedef enum
4090{
4091 WDI_AUTH_TYPE_ANY = 0,
4092
4093 WDI_AUTH_TYPE_NONE,
4094 WDI_AUTH_TYPE_OPEN_SYSTEM,
4095 WDI_AUTH_TYPE_SHARED_KEY,
4096
4097 WDI_AUTH_TYPE_WPA,
4098 WDI_AUTH_TYPE_WPA_PSK,
4099 WDI_AUTH_TYPE_WPA_NONE,
4100
4101 WDI_AUTH_TYPE_RSN,
4102 WDI_AUTH_TYPE_RSN_PSK,
4103 WDI_AUTH_TYPE_FT_RSN,
4104 WDI_AUTH_TYPE_FT_RSN_PSK,
4105 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4106 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4107 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4108
4109}WDI_AuthType;
4110
4111/*---------------------------------------------------------------------------
4112 WDI_EdType
4113---------------------------------------------------------------------------*/
4114typedef enum
4115{
4116 WDI_ED_ANY = 0,
4117 WDI_ED_NONE,
4118 WDI_ED_WEP40,
4119 WDI_ED_WEP104,
4120 WDI_ED_TKIP,
4121 WDI_ED_CCMP,
4122 WDI_ED_WPI,
4123 WDI_ED_AES_128_CMAC,
4124 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4125} WDI_EdType;
4126
4127
4128/*---------------------------------------------------------------------------
4129 WDI_PNOMode
4130---------------------------------------------------------------------------*/
4131typedef enum
4132{
4133 /*Network offload is to start immediately*/
4134 WDI_PNO_MODE_IMMEDIATE,
4135
4136 /*Network offload is to start on host suspend*/
4137 WDI_PNO_MODE_ON_SUSPEND,
4138
4139 /*Network offload is to start on host resume*/
4140 WDI_PNO_MODE_ON_RESUME,
4141 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4142} WDI_PNOMode;
4143
4144/* SSID broadcast type */
4145typedef enum
4146{
4147 WDI_BCAST_UNKNOWN = 0,
4148 WDI_BCAST_NORMAL = 1,
4149 WDI_BCAST_HIDDEN = 2,
4150
4151 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4152} WDI_SSIDBcastType;
4153
4154/*---------------------------------------------------------------------------
4155 WDI_NetworkType
4156---------------------------------------------------------------------------*/
4157typedef struct
4158{
4159 /*The SSID of the preferred network*/
4160 WDI_MacSSid ssId;
4161
4162 /*The authentication method of the preferred network*/
4163 WDI_AuthType wdiAuth;
4164
4165 /*The encryption method of the preferred network*/
4166 WDI_EdType wdiEncryption;
4167
4168 /*SSID broadcast type, normal, hidden or unknown*/
4169 WDI_SSIDBcastType wdiBcastNetworkType;
4170
4171 /*channel count - 0 for all channels*/
4172 wpt_uint8 ucChannelCount;
4173
4174 /*the actual channels*/
4175 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS];
4176
4177 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4178 wpt_uint8 rssiThreshold;
4179} WDI_NetworkType;
4180
4181
4182/*---------------------------------------------------------------------------
4183 WDI_ScanTimer
4184---------------------------------------------------------------------------*/
4185typedef struct
4186{
4187 /*The timer value*/
4188 wpt_uint32 uTimerValue;
4189
4190 /*The amount of time we should be repeating the interval*/
4191 wpt_uint32 uTimerRepeat;
4192} WDI_ScanTimer;
4193
4194/*---------------------------------------------------------------------------
4195 WDI_ScanTimersType
4196---------------------------------------------------------------------------*/
4197typedef struct
4198{
4199 /*The number of value pair intervals present in the array*/
4200 wpt_uint8 ucScanTimersCount;
4201
4202 /*The time-repeat value pairs*/
4203 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4204} WDI_ScanTimersType;
4205
4206/*---------------------------------------------------------------------------
4207 WDI_PNOScanReqType
4208---------------------------------------------------------------------------*/
4209typedef struct
4210{
4211 /*Enable or disable PNO feature*/
4212 wpt_uint8 bEnable;
4213
4214 /*PNO mode requested*/
4215 WDI_PNOMode wdiModePNO;
4216
4217 /*Network count*/
4218 wpt_uint8 ucNetworksCount;
4219
4220 /*The networks to look for*/
4221 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4222
4223 /*Scan timer intervals*/
4224 WDI_ScanTimersType scanTimers;
4225
4226 /*Probe template for 2.4GHz band*/
4227 wpt_uint16 us24GProbeSize;
4228 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4229
4230 /*Probe template for 5GHz band*/
4231 wpt_uint16 us5GProbeSize;
4232 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4233} WDI_PNOScanReqType;
4234
4235/*---------------------------------------------------------------------------
4236 WDI_PNOScanReqParamsType
4237 PNO info passed to WDI form WDA
4238---------------------------------------------------------------------------*/
4239typedef struct
4240{
4241 /* PNO Info Type, same as tPrefNetwListParams */
4242 WDI_PNOScanReqType wdiPNOScanInfo;
4243 /* Request status callback offered by UMAC - it is called if the current req
4244 has returned PENDING as status; it delivers the status of sending the message
4245 over the BUS */
4246 WDI_ReqStatusCb wdiReqStatusCB;
4247 /* The user data passed in by UMAC, it will be sent back when the above
4248 function pointer will be called */
4249 void* pUserData;
4250} WDI_PNOScanReqParamsType;
4251
4252/*---------------------------------------------------------------------------
4253 WDI_SetRssiFilterReqParamsType
4254 PNO info passed to WDI form WDA
4255---------------------------------------------------------------------------*/
4256typedef struct
4257{
4258 /* RSSI Threshold */
4259 wpt_uint8 rssiThreshold;
4260 /* Request status callback offered by UMAC - it is called if the current req
4261 has returned PENDING as status; it delivers the status of sending the message
4262 over the BUS */
4263 WDI_ReqStatusCb wdiReqStatusCB;
4264 /* The user data passed in by UMAC, it will be sent back when the above
4265 function pointer will be called */
4266 void* pUserData;
4267} WDI_SetRssiFilterReqParamsType;
4268
4269/*---------------------------------------------------------------------------
4270 WDI_UpdateScanParamsInfo
4271---------------------------------------------------------------------------*/
4272typedef struct
4273{
4274 /*Is 11d enabled*/
4275 wpt_uint8 b11dEnabled;
4276
4277 /*Was UMAc able to find the regulatory domain*/
4278 wpt_uint8 b11dResolved;
4279
4280 /*Number of channel allowed in the regulatory domain*/
4281 wpt_uint8 ucChannelCount;
4282
4283 /*The actual channels allowed in the regulatory domain*/
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304284 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004285
4286 /*Passive min channel time*/
4287 wpt_uint16 usPassiveMinChTime;
4288
4289 /*Passive max channel time*/
4290 wpt_uint16 usPassiveMaxChTime;
4291
4292 /*Active min channel time*/
4293 wpt_uint16 usActiveMinChTime;
4294
4295 /*Active max channel time*/
4296 wpt_uint16 usActiveMaxChTime;
4297
4298 /*channel bonding info*/
4299 wpt_uint8 cbState;
4300} WDI_UpdateScanParamsInfo;
4301
4302/*---------------------------------------------------------------------------
4303 WDI_UpdateScanParamsInfoType
4304 UpdateScanParams info passed to WDI form WDA
4305---------------------------------------------------------------------------*/
4306typedef struct
4307{
4308 /* PNO Info Type, same as tUpdateScanParams */
4309 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4310 /* Request status callback offered by UMAC - it is called if the current req
4311 has returned PENDING as status; it delivers the status of sending the message
4312 over the BUS */
4313 WDI_ReqStatusCb wdiReqStatusCB;
4314 /* The user data passed in by UMAC, it will be sent back when the above
4315 function pointer will be called */
4316 void* pUserData;
4317} WDI_UpdateScanParamsInfoType;
4318#endif // FEATURE_WLAN_SCAN_PNO
4319
4320/*---------------------------------------------------------------------------
4321 WDI_UpdateScanParamsInfo
4322---------------------------------------------------------------------------*/
4323typedef struct
4324{
4325 /* Ignore DTIM */
4326 wpt_uint32 uIgnoreDTIM;
4327
4328 /*DTIM Period*/
4329 wpt_uint32 uDTIMPeriod;
4330
4331 /* Listen Interval */
4332 wpt_uint32 uListenInterval;
4333
4334 /* Broadcast Multicas Filter */
4335 wpt_uint32 uBcastMcastFilter;
4336
4337 /* Beacon Early Termination */
4338 wpt_uint32 uEnableBET;
4339
4340 /* Beacon Early Termination Interval */
4341 wpt_uint32 uBETInterval;
4342
4343} WDI_SetPowerParamsInfo;
4344
4345/*---------------------------------------------------------------------------
4346 WDI_UpdateScanParamsInfoType
4347 UpdateScanParams info passed to WDI form WDA
4348---------------------------------------------------------------------------*/
4349typedef struct
4350{
4351 /* Power params Info Type, same as tSetPowerParamsReq */
4352 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
4353 /* Request status callback offered by UMAC - it is called if the current req
4354 has returned PENDING as status; it delivers the status of sending the message
4355 over the BUS */
4356 WDI_ReqStatusCb wdiReqStatusCB;
4357 /* The user data passed in by UMAC, it will be sent back when the above
4358 function pointer will be called */
4359 void* pUserData;
4360}WDI_SetPowerParamsReqParamsType;
4361
4362/*---------------------------------------------------------------------------
4363 WDI_SetTxPerTrackingConfType
4364 Wowl add ptrn info passed to WDA form UMAC
4365---------------------------------------------------------------------------*/
4366typedef struct
4367{
4368 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
4369 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
4370 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
4371 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
4372} WDI_TxPerTrackingParamType;
4373
4374/*---------------------------------------------------------------------------
4375 WDI_SetTxPerTrackingReqParamsType
4376 Tx PER Tracking parameters passed to WDI from WDA
4377---------------------------------------------------------------------------*/
4378typedef struct
4379{
4380 /* Configurations for Tx PER Tracking */
4381 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
4382 /*Request status callback offered by UMAC - it is called if the current req
4383 has returned PENDING as status; it delivers the status of sending the message
4384 over the BUS */
4385 WDI_ReqStatusCb wdiReqStatusCB;
4386 /*The user data passed in by UMAC, it will be sent back when the above
4387 function pointer will be called */
4388 void* pUserData;
4389}WDI_SetTxPerTrackingReqParamsType;
4390
4391#ifdef WLAN_FEATURE_PACKET_FILTERING
4392/*---------------------------------------------------------------------------
4393 Packet Filtering Parameters
4394---------------------------------------------------------------------------*/
4395
4396#define WDI_IPV4_ADDR_LEN 4
4397#define WDI_MAC_ADDR_LEN 6
4398#define WDI_MAX_FILTER_TEST_DATA_LEN 8
4399#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
4400#define WDI_MAX_NUM_FILTERS 20
4401#define WDI_MAX_NUM_TESTS_PER_FILTER 10
4402
4403//
4404// Receive Filter Parameters
4405//
4406typedef enum
4407{
4408 WDI_RCV_FILTER_TYPE_INVALID,
4409 WDI_RCV_FILTER_TYPE_FILTER_PKT,
4410 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
4411 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
4412}WDI_ReceivePacketFilterType;
4413
4414typedef enum
4415{
4416 WDI_FILTER_HDR_TYPE_INVALID,
4417 WDI_FILTER_HDR_TYPE_MAC,
4418 WDI_FILTER_HDR_TYPE_ARP,
4419 WDI_FILTER_HDR_TYPE_IPV4,
4420 WDI_FILTER_HDR_TYPE_IPV6,
4421 WDI_FILTER_HDR_TYPE_UDP,
4422 WDI_FILTER_HDR_TYPE_MAX
4423}WDI_RcvPktFltProtocolType;
4424
4425typedef enum
4426{
4427 WDI_FILTER_CMP_TYPE_INVALID,
4428 WDI_FILTER_CMP_TYPE_EQUAL,
4429 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
4430 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
4431 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
4432 WDI_FILTER_CMP_TYPE_MAX
4433}WDI_RcvPktFltCmpFlagType;
4434
4435typedef struct
4436{
4437 WDI_RcvPktFltProtocolType protocolLayer;
4438 WDI_RcvPktFltCmpFlagType cmpFlag;
4439/* Length of the data to compare */
4440 wpt_uint16 dataLength;
4441/* from start of the respective frame header */
4442 wpt_uint8 dataOffset;
4443 wpt_uint8 reserved; /* Reserved field */
4444/* Data to compare */
4445 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
4446/* Mask to be applied on the received packet data before compare */
4447 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
4448}WDI_RcvPktFilterFieldParams;
4449
4450typedef struct
4451{
4452 wpt_uint8 filterId;
4453 wpt_uint8 filterType;
4454 wpt_uint32 numFieldParams;
4455 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07004456 wpt_macAddr selfMacAddr;
4457 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004458 WDI_RcvPktFilterFieldParams paramsData[1];
4459
Jeff Johnson295189b2012-06-20 16:38:30 -07004460}WDI_RcvPktFilterCfgType;
4461
4462typedef struct
4463{
4464 /*Request status callback offered by UMAC - it is called if the current
4465 req has returned PENDING as status; it delivers the status of sending
4466 the message over the BUS */
4467 WDI_ReqStatusCb wdiReqStatusCB;
4468
4469 /*The user data passed in by UMAC, it will be sent back when the above
4470 function pointer will be called */
4471 void* pUserData;
4472
4473 // Variable length packet filter field params
4474 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
4475} WDI_SetRcvPktFilterReqParamsType;
4476
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004477typedef struct
4478{
4479 /*Result of the operation*/
4480 WDI_Status wdiStatus;
4481 /* BSSIDX of the Set Receive Filter
4482 */
4483 wpt_uint8 bssIdx;
4484} WDI_SetRcvPktFilterRspParamsType;
4485
Jeff Johnson295189b2012-06-20 16:38:30 -07004486//
4487// Filter Packet Match Count Parameters
4488//
4489typedef struct
4490{
4491 /*Request status callback offered by UMAC - it is called if the current
4492 req has returned PENDING as status; it delivers the status of sending
4493 the message over the BUS */
4494 WDI_ReqStatusCb wdiReqStatusCB;
4495
4496 /*The user data passed in by UMAC, it will be sent back when the above
4497 function pointer will be called */
4498 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004499
4500 /* BSSID of the Match count
4501 */
4502 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004503} WDI_RcvFltPktMatchCntReqParamsType;
4504
4505typedef struct
4506{
4507 wpt_uint8 filterId;
4508 wpt_uint32 matchCnt;
4509} WDI_RcvFltPktMatchCnt;
4510
4511typedef struct
4512{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004513 /*Result of the operation*/
4514 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07004515
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004516 /* BSSIDX of the Match count response
4517 */
4518 wpt_uint8 bssIdx;
4519
Jeff Johnson295189b2012-06-20 16:38:30 -07004520} WDI_RcvFltPktMatchCntRspParamsType;
4521
Jeff Johnson295189b2012-06-20 16:38:30 -07004522//
4523// Receive Filter Clear Parameters
4524//
4525typedef struct
4526{
4527 wpt_uint32 status; /* only valid for response message */
4528 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07004529 wpt_macAddr selfMacAddr;
4530 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004531}WDI_RcvFltPktClearParam;
4532
4533typedef struct
4534{
4535 WDI_RcvFltPktClearParam filterClearParam;
4536 /*Request status callback offered by UMAC - it is called if the current
4537 req has returned PENDING as status; it delivers the status of sending
4538 the message over the BUS */
4539 WDI_ReqStatusCb wdiReqStatusCB;
4540
4541 /*The user data passed in by UMAC, it will be sent back when the above
4542 function pointer will be called */
4543 void* pUserData;
4544} WDI_RcvFltPktClearReqParamsType;
4545
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004546typedef struct
4547{
4548 /*Result of the operation*/
4549 WDI_Status wdiStatus;
4550 /* BSSIDX of the Match count response
4551 */
4552 wpt_uint8 bssIdx;
4553
4554} WDI_RcvFltPktClearRspParamsType;
4555
Jeff Johnson295189b2012-06-20 16:38:30 -07004556//
4557// Multicast Address List Parameters
4558//
4559typedef struct
4560{
4561 wpt_uint32 ulMulticastAddrCnt;
4562 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07004563 wpt_macAddr selfMacAddr;
4564 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004565} WDI_RcvFltMcAddrListType;
4566
4567typedef struct
4568{
4569 WDI_RcvFltMcAddrListType mcAddrList;
4570 /*Request status callback offered by UMAC - it is called if the current
4571 req has returned PENDING as status; it delivers the status of sending
4572 the message over the BUS */
4573 WDI_ReqStatusCb wdiReqStatusCB;
4574
4575 /*The user data passed in by UMAC, it will be sent back when the above
4576 function pointer will be called */
4577 void* pUserData;
4578} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004579
4580typedef struct
4581{
4582 /*Result of the operation*/
4583 WDI_Status wdiStatus;
4584 /* BSSIDX of the Match count response
4585 */
4586 wpt_uint8 bssIdx;
4587} WDI_RcvFltPktSetMcListRspParamsType;
4588
Jeff Johnson295189b2012-06-20 16:38:30 -07004589#endif // WLAN_FEATURE_PACKET_FILTERING
4590
4591/*---------------------------------------------------------------------------
4592 WDI_HALDumpCmdReqInfoType
4593---------------------------------------------------------------------------*/
4594typedef struct
4595{
4596 /*command*/
4597 wpt_uint32 command;
4598
4599 /*Arguments*/
4600 wpt_uint32 argument1;
4601 wpt_uint32 argument2;
4602 wpt_uint32 argument3;
4603 wpt_uint32 argument4;
4604
4605}WDI_HALDumpCmdReqInfoType;
4606
4607/*---------------------------------------------------------------------------
4608 WDI_HALDumpCmdReqParamsType
4609---------------------------------------------------------------------------*/
4610typedef struct
4611{
4612 /*NV Blob Info*/
4613 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
4614
4615 /*Request status callback offered by UMAC - it is called if the current
4616 req has returned PENDING as status; it delivers the status of sending
4617 the message over the BUS */
4618 WDI_ReqStatusCb wdiReqStatusCB;
4619
4620 /*The user data passed in by UMAC, it will be sent back when the above
4621 function pointer will be called */
4622 void* pUserData;
4623
4624}WDI_HALDumpCmdReqParamsType;
4625
4626
4627/*---------------------------------------------------------------------------
4628 WDI_HALDumpCmdRspParamsType
4629---------------------------------------------------------------------------*/
4630typedef struct
4631{
4632 /*Result of the operation*/
4633 WDI_Status wdiStatus;
4634
4635 /* length of the buffer */
4636 wpt_uint16 usBufferLen;
4637
4638 /* Buffer */
4639 wpt_uint8 *pBuffer;
4640}WDI_HALDumpCmdRspParamsType;
4641
4642
4643/*---------------------------------------------------------------------------
4644 WDI_SetTmLevelReqType
4645---------------------------------------------------------------------------*/
4646typedef struct
4647{
4648 wpt_uint16 tmMode;
4649 wpt_uint16 tmLevel;
4650 void* pUserData;
4651}WDI_SetTmLevelReqType;
4652
4653/*---------------------------------------------------------------------------
4654 WDI_SetTmLevelRspType
4655---------------------------------------------------------------------------*/
4656typedef struct
4657{
4658 WDI_Status wdiStatus;
4659 void* pUserData;
4660}WDI_SetTmLevelRspType;
4661
4662/*----------------------------------------------------------------------------
4663 * WDI callback types
4664 *--------------------------------------------------------------------------*/
4665
4666/*---------------------------------------------------------------------------
4667 WDI_StartRspCb
4668
4669 DESCRIPTION
4670
4671 This callback is invoked by DAL when it has received a Start response from
4672 the underlying device.
4673
4674 PARAMETERS
4675
4676 IN
4677 wdiRspParams: response parameters received from HAL
4678 pUserData: user data
4679
4680
4681 RETURN VALUE
4682 The result code associated with performing the operation
4683---------------------------------------------------------------------------*/
4684typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
4685 void* pUserData);
4686
4687/*---------------------------------------------------------------------------
4688 WDI_StartRspCb
4689
4690 DESCRIPTION
4691
4692 This callback is invoked by DAL when it has received a Stop response from
4693 the underlying device.
4694
4695 PARAMETERS
4696
4697 IN
4698 wdiStatus: response status received from HAL
4699 pUserData: user data
4700
4701
4702
4703 RETURN VALUE
4704 The result code associated with performing the operation
4705---------------------------------------------------------------------------*/
4706typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
4707 void* pUserData);
4708
4709/*---------------------------------------------------------------------------
4710 WDI_StartRspCb
4711
4712 DESCRIPTION
4713
4714 This callback is invoked by DAL when it has received an Init Scan response
4715 from the underlying device.
4716
4717 PARAMETERS
4718
4719 IN
4720 wdiStatus: response status received from HAL
4721 pUserData: user data
4722
4723
4724
4725 RETURN VALUE
4726 The result code associated with performing the operation
4727---------------------------------------------------------------------------*/
4728typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
4729 void* pUserData);
4730
4731
4732/*---------------------------------------------------------------------------
4733 WDI_StartRspCb
4734
4735 DESCRIPTION
4736
4737 This callback is invoked by DAL when it has received a StartScan response
4738 from the underlying device.
4739
4740 PARAMETERS
4741
4742 IN
4743 wdiParams: response params received from HAL
4744 pUserData: user data
4745
4746
4747
4748 RETURN VALUE
4749 The result code associated with performing the operation
4750---------------------------------------------------------------------------*/
4751typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
4752 void* pUserData);
4753
4754
4755/*---------------------------------------------------------------------------
4756 WDI_StartRspCb
4757
4758 DESCRIPTION
4759
4760 This callback is invoked by DAL when it has received a End Scan response
4761 from the underlying device.
4762
4763 PARAMETERS
4764
4765 IN
4766 wdiStatus: response status received from HAL
4767 pUserData: user data
4768
4769
4770
4771 RETURN VALUE
4772 The result code associated with performing the operation
4773---------------------------------------------------------------------------*/
4774typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
4775 void* pUserData);
4776
4777
4778/*---------------------------------------------------------------------------
4779 WDI_StartRspCb
4780
4781 DESCRIPTION
4782
4783 This callback is invoked by DAL when it has received a Finish Scan response
4784 from the underlying device.
4785
4786 PARAMETERS
4787
4788 IN
4789 wdiStatus: response status received from HAL
4790 pUserData: user data
4791
4792
4793
4794 RETURN VALUE
4795 The result code associated with performing the operation
4796---------------------------------------------------------------------------*/
4797typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
4798 void* pUserData);
4799
4800
4801/*---------------------------------------------------------------------------
4802 WDI_StartRspCb
4803
4804 DESCRIPTION
4805
4806 This callback is invoked by DAL when it has received a Join response from
4807 the underlying device.
4808
4809 PARAMETERS
4810
4811 IN
4812 wdiStatus: response status received from HAL
4813 pUserData: user data
4814
4815
4816
4817 RETURN VALUE
4818 The result code associated with performing the operation
4819---------------------------------------------------------------------------*/
4820typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
4821 void* pUserData);
4822
4823
4824/*---------------------------------------------------------------------------
4825 WDI_StartRspCb
4826
4827 DESCRIPTION
4828
4829 This callback is invoked by DAL when it has received a Config BSS response
4830 from the underlying device.
4831
4832 PARAMETERS
4833
4834 IN
4835 wdiConfigBSSRsp: response parameters received from HAL
4836 pUserData: user data
4837
4838
4839 RETURN VALUE
4840 The result code associated with performing the operation
4841---------------------------------------------------------------------------*/
4842typedef void (*WDI_ConfigBSSRspCb)(
4843 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
4844 void* pUserData);
4845
4846
4847/*---------------------------------------------------------------------------
4848 WDI_StartRspCb
4849
4850 DESCRIPTION
4851
4852 This callback is invoked by DAL when it has received a Del BSS response from
4853 the underlying device.
4854
4855 PARAMETERS
4856
4857 IN
4858 wdiDelBSSRsp: response parameters received from HAL
4859 pUserData: user data
4860
4861
4862 RETURN VALUE
4863 The result code associated with performing the operation
4864---------------------------------------------------------------------------*/
4865typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
4866 void* pUserData);
4867
4868
4869/*---------------------------------------------------------------------------
4870 WDI_StartRspCb
4871
4872 DESCRIPTION
4873
4874 This callback is invoked by DAL when it has received a Post Assoc response
4875 from the underlying device.
4876
4877 PARAMETERS
4878
4879 IN
4880 wdiRspParams: response parameters received from HAL
4881 pUserData: user data
4882
4883
4884 RETURN VALUE
4885 The result code associated with performing the operation
4886---------------------------------------------------------------------------*/
4887typedef void (*WDI_PostAssocRspCb)(
4888 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
4889 void* pUserData);
4890
4891
4892/*---------------------------------------------------------------------------
4893 WDI_StartRspCb
4894
4895 DESCRIPTION
4896
4897 This callback is invoked by DAL when it has received a Del STA response from
4898 the underlying device.
4899
4900 PARAMETERS
4901
4902 IN
4903 wdiDelSTARsp: response parameters received from HAL
4904 pUserData: user data
4905
4906
4907 RETURN VALUE
4908 The result code associated with performing the operation
4909---------------------------------------------------------------------------*/
4910typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
4911 void* pUserData);
4912
4913
4914
4915/*---------------------------------------------------------------------------
4916 WDI_StartRspCb
4917
4918 DESCRIPTION
4919
4920 This callback is invoked by DAL when it has received a Set BSS Key response
4921 from the underlying device.
4922
4923 PARAMETERS
4924
4925 IN
4926 wdiStatus: response status received from HAL
4927 pUserData: user data
4928
4929
4930
4931 RETURN VALUE
4932 The result code associated with performing the operation
4933---------------------------------------------------------------------------*/
4934typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
4935 void* pUserData);
4936
4937/*---------------------------------------------------------------------------
4938 WDI_StartRspCb
4939
4940 DESCRIPTION
4941
4942 This callback is invoked by DAL when it has received a Remove BSS Key
4943 response from the underlying device.
4944
4945 PARAMETERS
4946
4947 IN
4948 wdiStatus: response status received from HAL
4949 pUserData: user data
4950
4951
4952
4953 RETURN VALUE
4954 The result code associated with performing the operation
4955---------------------------------------------------------------------------*/
4956typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
4957 void* pUserData);
4958
4959/*---------------------------------------------------------------------------
4960 WDI_StartRspCb
4961
4962 DESCRIPTION
4963
4964 This callback is invoked by DAL when it has received a Set STA Key response
4965 from the underlying device.
4966
4967 PARAMETERS
4968
4969 IN
4970 wdiStatus: response status received from HAL
4971 pUserData: user data
4972
4973
4974
4975 RETURN VALUE
4976 The result code associated with performing the operation
4977---------------------------------------------------------------------------*/
4978typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
4979 void* pUserData);
4980
4981
4982/*---------------------------------------------------------------------------
4983 WDI_StartRspCb
4984
4985 DESCRIPTION
4986
4987 This callback is invoked by DAL when it has received a Remove STA Key
4988 response from the underlying device.
4989
4990 PARAMETERS
4991
4992 IN
4993 wdiStatus: response status received from HAL
4994 pUserData: user data
4995
4996
4997
4998 RETURN VALUE
4999 The result code associated with performing the operation
5000---------------------------------------------------------------------------*/
5001typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5002 void* pUserData);
5003
5004
5005#ifdef FEATURE_WLAN_CCX
5006/*---------------------------------------------------------------------------
5007 WDI_TsmRspCb
5008
5009 DESCRIPTION
5010
5011 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5012
5013 PARAMETERS
5014
5015 IN
5016 pTSMStats: response status received from HAL
5017 pUserData: user data
5018
5019
5020
5021 RETURN VALUE
5022 The result code associated with performing the operation
5023---------------------------------------------------------------------------*/
5024typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5025 void* pUserData);
5026#endif
5027
5028/*---------------------------------------------------------------------------
5029 WDI_StartRspCb
5030
5031 DESCRIPTION
5032
5033 This callback is invoked by DAL when it has received a Add TS response from
5034 the underlying device.
5035
5036 PARAMETERS
5037
5038 IN
5039 wdiStatus: response status received from HAL
5040 pUserData: user data
5041
5042
5043
5044 RETURN VALUE
5045 The result code associated with performing the operation
5046---------------------------------------------------------------------------*/
5047typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5048 void* pUserData);
5049
5050/*---------------------------------------------------------------------------
5051 WDI_StartRspCb
5052
5053 DESCRIPTION
5054
5055 This callback is invoked by DAL when it has received a Del TS response from
5056 the underlying device.
5057
5058 PARAMETERS
5059
5060 IN
5061 wdiStatus: response status received from HAL
5062 pUserData: user data
5063
5064
5065
5066 RETURN VALUE
5067 The result code associated with performing the operation
5068---------------------------------------------------------------------------*/
5069typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5070 void* pUserData);
5071
5072/*---------------------------------------------------------------------------
5073 WDI_StartRspCb
5074
5075 DESCRIPTION
5076
5077 This callback is invoked by DAL when it has received an Update EDCA Params
5078 response from the underlying device.
5079
5080 PARAMETERS
5081
5082 IN
5083 wdiStatus: response status received from HAL
5084 pUserData: user data
5085
5086
5087
5088 RETURN VALUE
5089 The result code associated with performing the operation
5090---------------------------------------------------------------------------*/
5091typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5092 void* pUserData);
5093
5094/*---------------------------------------------------------------------------
5095 WDI_StartRspCb
5096
5097 DESCRIPTION
5098
5099 This callback is invoked by DAL when it has received a Add BA response from
5100 the underlying device.
5101
5102 PARAMETERS
5103
5104 IN
5105 wdiStatus: response status received from HAL
5106 pUserData: user data
5107
5108
5109
5110 RETURN VALUE
5111 The result code associated with performing the operation
5112---------------------------------------------------------------------------*/
5113typedef void (*WDI_AddBASessionRspCb)(
5114 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5115 void* pUserData);
5116
5117
5118/*---------------------------------------------------------------------------
5119 WDI_StartRspCb
5120
5121 DESCRIPTION
5122
5123 This callback is invoked by DAL when it has received a Del BA response from
5124 the underlying device.
5125
5126 PARAMETERS
5127
5128 IN
5129 wdiStatus: response status received from HAL
5130 pUserData: user data
5131
5132
5133
5134 RETURN VALUE
5135 The result code associated with performing the operation
5136---------------------------------------------------------------------------*/
5137typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5138 void* pUserData);
5139
5140
5141/*---------------------------------------------------------------------------
5142 WDI_StartRspCb
5143
5144 DESCRIPTION
5145
5146 This callback is invoked by DAL when it has received a Switch Ch response
5147 from the underlying device.
5148
5149 PARAMETERS
5150
5151 IN
5152 wdiRspParams: response parameters received from HAL
5153 pUserData: user data
5154
5155
5156 RETURN VALUE
5157 The result code associated with performing the operation
5158---------------------------------------------------------------------------*/
5159typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5160 void* pUserData);
5161
5162
5163/*---------------------------------------------------------------------------
5164 WDI_StartRspCb
5165
5166 DESCRIPTION
5167
5168 This callback is invoked by DAL when it has received a Config STA response
5169 from the underlying device.
5170
5171 PARAMETERS
5172
5173 IN
5174 wdiRspParams: response parameters received from HAL
5175 pUserData: user data
5176
5177
5178 RETURN VALUE
5179 The result code associated with performing the operation
5180---------------------------------------------------------------------------*/
5181typedef void (*WDI_ConfigSTARspCb)(
5182 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5183 void* pUserData);
5184
5185
5186/*---------------------------------------------------------------------------
5187 WDI_StartRspCb
5188
5189 DESCRIPTION
5190
5191 This callback is invoked by DAL when it has received a Set Link State
5192 response from the underlying device.
5193
5194 PARAMETERS
5195
5196 IN
5197 wdiRspParams: response parameters received from HAL
5198 pUserData: user data
5199
5200
5201 RETURN VALUE
5202 The result code associated with performing the operation
5203---------------------------------------------------------------------------*/
5204typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
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 Get Stats response
5214 from the underlying device.
5215
5216 PARAMETERS
5217
5218 IN
5219 wdiRspParams: response parameters received from HAL
5220 pUserData: user data
5221
5222
5223 RETURN VALUE
5224 The result code associated with performing the operation
5225---------------------------------------------------------------------------*/
5226typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5227 void* pUserData);
5228
5229
5230/*---------------------------------------------------------------------------
5231 WDI_StartRspCb
5232
5233 DESCRIPTION
5234
5235 This callback is invoked by DAL when it has received a Update Cfg response
5236 from the underlying device.
5237
5238 PARAMETERS
5239
5240 IN
5241 wdiStatus: response status received from HAL
5242 pUserData: user data
5243
5244
5245 RETURN VALUE
5246 The result code associated with performing the operation
5247---------------------------------------------------------------------------*/
5248typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
5249 void* pUserData);
5250
5251/*---------------------------------------------------------------------------
5252 WDI_AddBARspCb
5253
5254 DESCRIPTION
5255
5256 This callback is invoked by DAL when it has received a ADD BA response
5257 from the underlying device.
5258
5259 PARAMETERS
5260
5261 IN
5262 wdiStatus: response status received from HAL
5263 pUserData: user data
5264
5265
5266 RETURN VALUE
5267 The result code associated with performing the operation
5268---------------------------------------------------------------------------*/
5269typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
5270 void* pUserData);
5271
5272/*---------------------------------------------------------------------------
5273 WDI_TriggerBARspCb
5274
5275 DESCRIPTION
5276
5277 This callback is invoked by DAL when it has received a ADD BA response
5278 from the underlying device.
5279
5280 PARAMETERS
5281
5282 IN
5283 wdiStatus: response status received from HAL
5284 pUserData: user data
5285
5286
5287 RETURN VALUE
5288 The result code associated with performing the operation
5289---------------------------------------------------------------------------*/
5290typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
5291 void* pUserData);
5292
5293
5294/*---------------------------------------------------------------------------
5295 WDI_UpdateBeaconParamsRspCb
5296
5297 DESCRIPTION
5298
5299 This callback is invoked by DAL when it has received a Update Beacon Params response from
5300 the underlying device.
5301
5302 PARAMETERS
5303
5304 IN
5305 wdiStatus: response status received from HAL
5306 pUserData: user data
5307
5308
5309
5310 RETURN VALUE
5311 The result code associated with performing the operation
5312---------------------------------------------------------------------------*/
5313typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
5314 void* pUserData);
5315
5316/*---------------------------------------------------------------------------
5317 WDI_SendBeaconParamsRspCb
5318
5319 DESCRIPTION
5320
5321 This callback is invoked by DAL when it has received a Send Beacon Params response from
5322 the underlying device.
5323
5324 PARAMETERS
5325
5326 IN
5327 wdiStatus: response status received from HAL
5328 pUserData: user data
5329
5330
5331
5332 RETURN VALUE
5333 The result code associated with performing the operation
5334---------------------------------------------------------------------------*/
5335typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
5336 void* pUserData);
5337
5338/*---------------------------------------------------------------------------
5339 WDA_SetMaxTxPowerRspCb
5340
5341 DESCRIPTION
5342
5343 This callback is invoked by DAL when it has received a set max Tx Power response from
5344 the underlying device.
5345
5346 PARAMETERS
5347
5348 IN
5349 wdiStatus: response status received from HAL
5350 pUserData: user data
5351
5352
5353
5354 RETURN VALUE
5355 The result code associated with performing the operation
5356---------------------------------------------------------------------------*/
5357typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
5358 void* pUserData);
5359
5360/*---------------------------------------------------------------------------
5361 WDI_UpdateProbeRspTemplateRspCb
5362
5363 DESCRIPTION
5364
5365 This callback is invoked by DAL when it has received a Probe RSP Template
5366 Update response from the underlying device.
5367
5368 PARAMETERS
5369
5370 IN
5371 wdiStatus: response status received from HAL
5372 pUserData: user data
5373
5374
5375
5376 RETURN VALUE
5377 The result code associated with performing the operation
5378---------------------------------------------------------------------------*/
5379typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
5380 void* pUserData);
5381
5382#ifdef WLAN_FEATURE_P2P
5383/*---------------------------------------------------------------------------
5384 WDI_SetP2PGONOAReqParamsRspCb
5385
5386 DESCRIPTION
5387
5388 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
5389 the underlying device.
5390
5391 PARAMETERS
5392
5393 IN
5394 wdiStatus: response status received from HAL
5395 pUserData: user data
5396
5397
5398
5399 RETURN VALUE
5400 The result code associated with performing the operation
5401---------------------------------------------------------------------------*/
5402typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
5403 void* pUserData);
5404#endif
5405
5406
5407/*---------------------------------------------------------------------------
5408 WDI_SetPwrSaveCfgCb
5409
5410 DESCRIPTION
5411
5412 This callback is invoked by DAL when it has received a set Power Save CFG
5413 response from the underlying device.
5414
5415 PARAMETERS
5416
5417 IN
5418 wdiStatus: response status received from HAL
5419 pUserData: user data
5420
5421
5422
5423 RETURN VALUE
5424 The result code associated with performing the operation
5425---------------------------------------------------------------------------*/
5426typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
5427 void* pUserData);
5428
5429/*---------------------------------------------------------------------------
5430 WDI_SetUapsdAcParamsCb
5431
5432 DESCRIPTION
5433
5434 This callback is invoked by DAL when it has received a set UAPSD params
5435 response from the underlying device.
5436
5437 PARAMETERS
5438
5439 IN
5440 wdiStatus: response status received from HAL
5441 pUserData: user data
5442
5443
5444
5445 RETURN VALUE
5446 The result code associated with performing the operation
5447---------------------------------------------------------------------------*/
5448typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
5449 void* pUserData);
5450
5451/*---------------------------------------------------------------------------
5452 WDI_EnterImpsRspCb
5453
5454 DESCRIPTION
5455
5456 This callback is invoked by DAL when it has received a Enter IMPS response
5457 from the underlying device.
5458
5459 PARAMETERS
5460
5461 IN
5462 wdiStatus: response status received from HAL
5463 pUserData: user data
5464
5465
5466
5467 RETURN VALUE
5468 The result code associated with performing the operation
5469---------------------------------------------------------------------------*/
5470typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
5471 void* pUserData);
5472
5473/*---------------------------------------------------------------------------
5474 WDI_ExitImpsRspCb
5475
5476 DESCRIPTION
5477
5478 This callback is invoked by DAL when it has received a Exit IMPS response
5479 from the underlying device.
5480
5481 PARAMETERS
5482
5483 IN
5484 wdiStatus: response status received from HAL
5485 pUserData: user data
5486
5487
5488
5489 RETURN VALUE
5490 The result code associated with performing the operation
5491---------------------------------------------------------------------------*/
5492typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
5493 void* pUserData);
5494
5495/*---------------------------------------------------------------------------
5496 WDI_EnterBmpsRspCb
5497
5498 DESCRIPTION
5499
5500 This callback is invoked by DAL when it has received a enter BMPS response
5501 from the underlying device.
5502
5503 PARAMETERS
5504
5505 IN
5506 wdiStatus: response status received from HAL
5507 pUserData: user data
5508
5509
5510
5511 RETURN VALUE
5512 The result code associated with performing the operation
5513---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005514typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07005515 void* pUserData);
5516
5517/*---------------------------------------------------------------------------
5518 WDI_ExitBmpsRspCb
5519
5520 DESCRIPTION
5521
5522 This callback is invoked by DAL when it has received a exit BMPS response
5523 from the underlying device.
5524
5525 PARAMETERS
5526
5527 IN
5528 wdiStatus: response status received from HAL
5529 pUserData: user data
5530
5531
5532
5533 RETURN VALUE
5534 The result code associated with performing the operation
5535---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005536typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07005537 void* pUserData);
5538
5539/*---------------------------------------------------------------------------
5540 WDI_EnterUapsdRspCb
5541
5542 DESCRIPTION
5543
5544 This callback is invoked by DAL when it has received a enter UAPSD response
5545 from the underlying device.
5546
5547 PARAMETERS
5548
5549 IN
5550 wdiStatus: response status received from HAL
5551 pUserData: user data
5552
5553
5554
5555 RETURN VALUE
5556 The result code associated with performing the operation
5557---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005558typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07005559 void* pUserData);
5560
5561/*---------------------------------------------------------------------------
5562 WDI_ExitUapsdRspCb
5563
5564 DESCRIPTION
5565
5566 This callback is invoked by DAL when it has received a exit UAPSD response
5567 from the underlying device.
5568
5569 PARAMETERS
5570
5571 IN
5572 wdiStatus: response status received from HAL
5573 pUserData: user data
5574
5575
5576
5577 RETURN VALUE
5578 The result code associated with performing the operation
5579---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005580typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07005581 void* pUserData);
5582
5583/*---------------------------------------------------------------------------
5584 WDI_UpdateUapsdParamsCb
5585
5586 DESCRIPTION
5587
5588 This callback is invoked by DAL when it has received a update UAPSD params
5589 response from the underlying device.
5590
5591 PARAMETERS
5592
5593 IN
5594 wdiStatus: response status received from HAL
5595 pUserData: user data
5596
5597
5598
5599 RETURN VALUE
5600 The result code associated with performing the operation
5601---------------------------------------------------------------------------*/
5602typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
5603 void* pUserData);
5604
5605/*---------------------------------------------------------------------------
5606 WDI_ConfigureRxpFilterCb
5607
5608 DESCRIPTION
5609
5610 This callback is invoked by DAL when it has received a config RXP filter
5611 response from the underlying device.
5612
5613 PARAMETERS
5614
5615 IN
5616 wdiStatus: response status received from HAL
5617 pUserData: user data
5618
5619
5620
5621 RETURN VALUE
5622 The result code associated with performing the operation
5623---------------------------------------------------------------------------*/
5624typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
5625 void* pUserData);
5626
5627/*---------------------------------------------------------------------------
5628 WDI_SetBeaconFilterCb
5629
5630 DESCRIPTION
5631
5632 This callback is invoked by DAL when it has received a set beacon filter
5633 response from the underlying device.
5634
5635 PARAMETERS
5636
5637 IN
5638 wdiStatus: response status received from HAL
5639 pUserData: user data
5640
5641
5642
5643 RETURN VALUE
5644 The result code associated with performing the operation
5645---------------------------------------------------------------------------*/
5646typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
5647 void* pUserData);
5648
5649/*---------------------------------------------------------------------------
5650 WDI_RemBeaconFilterCb
5651
5652 DESCRIPTION
5653
5654 This callback is invoked by DAL when it has received a remove beacon filter
5655 response from the underlying device.
5656
5657 PARAMETERS
5658
5659 IN
5660 wdiStatus: response status received from HAL
5661 pUserData: user data
5662
5663
5664
5665 RETURN VALUE
5666 The result code associated with performing the operation
5667---------------------------------------------------------------------------*/
5668typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
5669 void* pUserData);
5670
5671/*---------------------------------------------------------------------------
5672 WDI_SetRSSIThresholdsCb
5673
5674 DESCRIPTION
5675
5676 This callback is invoked by DAL when it has received a set RSSI thresholds
5677 response from the underlying device.
5678
5679 PARAMETERS
5680
5681 IN
5682 wdiStatus: response status received from HAL
5683 pUserData: user data
5684
5685
5686
5687 RETURN VALUE
5688 The result code associated with performing the operation
5689---------------------------------------------------------------------------*/
5690typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
5691 void* pUserData);
5692
5693/*---------------------------------------------------------------------------
5694 WDI_HostOffloadCb
5695
5696 DESCRIPTION
5697
5698 This callback is invoked by DAL when it has received a host offload
5699 response from the underlying device.
5700
5701 PARAMETERS
5702
5703 IN
5704 wdiStatus: response status received from HAL
5705 pUserData: user data
5706
5707
5708
5709 RETURN VALUE
5710 The result code associated with performing the operation
5711---------------------------------------------------------------------------*/
5712typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
5713 void* pUserData);
5714
5715/*---------------------------------------------------------------------------
5716 WDI_KeepAliveCb
5717
5718 DESCRIPTION
5719
5720 This callback is invoked by DAL when it has received a Keep Alive
5721 response from the underlying device.
5722
5723 PARAMETERS
5724
5725 IN
5726 wdiStatus: response status received from HAL
5727 pUserData: user data
5728
5729
5730
5731 RETURN VALUE
5732 The result code associated with performing the operation
5733---------------------------------------------------------------------------*/
5734typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
5735 void* pUserData);
5736
5737/*---------------------------------------------------------------------------
5738 WDI_WowlAddBcPtrnCb
5739
5740 DESCRIPTION
5741
5742 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
5743 response from the underlying device.
5744
5745 PARAMETERS
5746
5747 IN
5748 wdiStatus: response status received from HAL
5749 pUserData: user data
5750
5751
5752
5753 RETURN VALUE
5754 The result code associated with performing the operation
5755---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005756typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07005757 void* pUserData);
5758
5759/*---------------------------------------------------------------------------
5760 WDI_WowlDelBcPtrnCb
5761
5762 DESCRIPTION
5763
5764 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
5765 response from the underlying device.
5766
5767 PARAMETERS
5768
5769 IN
5770 wdiStatus: response status received from HAL
5771 pUserData: user data
5772
5773
5774
5775 RETURN VALUE
5776 The result code associated with performing the operation
5777---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005778typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07005779 void* pUserData);
5780
5781/*---------------------------------------------------------------------------
5782 WDI_WowlEnterReqCb
5783
5784 DESCRIPTION
5785
5786 This callback is invoked by DAL when it has received a Wowl enter
5787 response from the underlying device.
5788
5789 PARAMETERS
5790
5791 IN
5792 wdiStatus: response status received from HAL
5793 pUserData: user data
5794
5795
5796
5797 RETURN VALUE
5798 The result code associated with performing the operation
5799---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005800typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
5801 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07005802
5803/*---------------------------------------------------------------------------
5804 WDI_WowlExitReqCb
5805
5806 DESCRIPTION
5807
5808 This callback is invoked by DAL when it has received a Wowl exit
5809 response from the underlying device.
5810
5811 PARAMETERS
5812
5813 IN
5814 wdiStatus: response status received from HAL
5815 pUserData: user data
5816
5817
5818
5819 RETURN VALUE
5820 The result code associated with performing the operation
5821---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005822typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07005823 void* pUserData);
5824
5825/*---------------------------------------------------------------------------
5826 WDI_ConfigureAppsCpuWakeupStateCb
5827
5828 DESCRIPTION
5829
5830 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
5831 State response from the underlying device.
5832
5833 PARAMETERS
5834
5835 IN
5836 wdiStatus: response status received from HAL
5837 pUserData: user data
5838
5839
5840
5841 RETURN VALUE
5842 The result code associated with performing the operation
5843---------------------------------------------------------------------------*/
5844typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
5845 void* pUserData);
5846/*---------------------------------------------------------------------------
5847 WDI_NvDownloadRspCb
5848
5849 DESCRIPTION
5850
5851 This callback is invoked by DAL when it has received a NV Download response
5852 from the underlying device.
5853
5854 PARAMETERS
5855
5856 IN
5857 wdiStatus:response status received from HAL
5858 pUserData:user data
5859
5860 RETURN VALUE
5861 The result code associated with performing the operation
5862---------------------------------------------------------------------------*/
5863typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
5864 void* pUserData);
5865/*---------------------------------------------------------------------------
5866 WDI_FlushAcRspCb
5867
5868 DESCRIPTION
5869
5870 This callback is invoked by DAL when it has received a Flush AC response from
5871 the underlying device.
5872
5873 PARAMETERS
5874
5875 IN
5876 wdiStatus: response status received from HAL
5877 pUserData: user data
5878
5879
5880
5881 RETURN VALUE
5882 The result code associated with performing the operation
5883---------------------------------------------------------------------------*/
5884typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
5885 void* pUserData);
5886
5887/*---------------------------------------------------------------------------
5888 WDI_BtAmpEventRspCb
5889
5890 DESCRIPTION
5891
5892 This callback is invoked by DAL when it has received a Bt AMP event response
5893 from the underlying device.
5894
5895 PARAMETERS
5896
5897 IN
5898 wdiStatus: response status received from HAL
5899 pUserData: user data
5900
5901
5902
5903 RETURN VALUE
5904 The result code associated with performing the operation
5905---------------------------------------------------------------------------*/
5906typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
5907 void* pUserData);
5908
Jeff Johnsone7245742012-09-05 17:12:55 -07005909#ifdef FEATURE_OEM_DATA_SUPPORT
5910/*---------------------------------------------------------------------------
5911 WDI_oemDataRspCb
5912
5913 DESCRIPTION
5914
5915 This callback is invoked by DAL when it has received a Start oem data response from
5916 the underlying device.
5917
5918 PARAMETERS
5919
5920 IN
5921 wdiStatus: response status received from HAL
5922 pUserData: user data
5923
5924
5925
5926 RETURN VALUE
5927 The result code associated with performing the operation
5928---------------------------------------------------------------------------*/
5929typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
5930 void* pUserData);
5931
5932#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07005933
5934/*---------------------------------------------------------------------------
5935 WDI_HostResumeEventRspCb
5936
5937 DESCRIPTION
5938
5939 This callback is invoked by DAL when it has received a Bt AMP event response
5940 from the underlying device.
5941
5942 PARAMETERS
5943
5944 IN
5945 wdiStatus: response status received from HAL
5946 pUserData: user data
5947
5948
5949
5950 RETURN VALUE
5951 The result code associated with performing the operation
5952---------------------------------------------------------------------------*/
5953typedef void (*WDI_HostResumeEventRspCb)(
5954 WDI_SuspendResumeRspParamsType *resumeRspParams,
5955 void* pUserData);
5956
5957
5958#ifdef WLAN_FEATURE_VOWIFI_11R
5959/*---------------------------------------------------------------------------
5960 WDI_AggrAddTsRspCb
5961
5962 DESCRIPTION
5963
5964 This callback is invoked by DAL when it has received a Aggregated Add TS
5965 response from the underlying device.
5966
5967 PARAMETERS
5968
5969 IN
5970 wdiStatus: response status received from HAL
5971 pUserData: user data
5972
5973
5974
5975 RETURN VALUE
5976 The result code associated with performing the operation
5977---------------------------------------------------------------------------*/
5978typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
5979 void* pUserData);
5980#endif /* WLAN_FEATURE_VOWIFI_11R */
5981
5982#ifdef ANI_MANF_DIAG
5983/*---------------------------------------------------------------------------
5984 WDI_FTMCommandRspCb
5985
5986 DESCRIPTION
5987
5988 FTM Command response CB
5989
5990 PARAMETERS
5991
5992 IN
5993 ftmCMDRspdata: FTM response data from HAL
5994 pUserData: user data
5995
5996
5997 RETURN VALUE
5998 NONE
5999---------------------------------------------------------------------------*/
6000typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6001 void *pUserData);
6002#endif /* ANI_MANF_DIAG */
6003
6004/*---------------------------------------------------------------------------
6005 WDI_AddSTASelfParamsRspCb
6006
6007 DESCRIPTION
6008
6009 This callback is invoked by DAL when it has received a Add Sta Self Params
6010 response from the underlying device.
6011
6012 PARAMETERS
6013
6014 IN
6015 wdiAddSelfSTARsp: response status received from HAL
6016 pUserData: user data
6017
6018
6019
6020 RETURN VALUE
6021 The result code associated with performing the operation
6022---------------------------------------------------------------------------*/
6023typedef void (*WDI_AddSTASelfParamsRspCb)(
6024 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6025 void* pUserData);
6026
6027
6028/*---------------------------------------------------------------------------
6029 WDI_DelSTASelfRspCb
6030
6031 DESCRIPTION
6032
6033 This callback is invoked by DAL when it has received a host offload
6034 response from the underlying device.
6035
6036 PARAMETERS
6037
6038 IN
6039 wdiStatus: response status received from HAL
6040 pUserData: user data
6041
6042
6043
6044 RETURN VALUE
6045 The result code associated with performing the operation
6046---------------------------------------------------------------------------*/
6047typedef void (*WDI_DelSTASelfRspCb)
6048(
6049WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6050void* pUserData
6051);
6052
6053#ifdef FEATURE_WLAN_SCAN_PNO
6054/*---------------------------------------------------------------------------
6055 WDI_PNOScanCb
6056
6057 DESCRIPTION
6058
6059 This callback is invoked by DAL when it has received a Set PNO
6060 response from the underlying device.
6061
6062 PARAMETERS
6063
6064 IN
6065 wdiStatus: response status received from HAL
6066 pUserData: user data
6067
6068
6069
6070 RETURN VALUE
6071 The result code associated with performing the operation
6072---------------------------------------------------------------------------*/
6073typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6074 void* pUserData);
6075
6076/*---------------------------------------------------------------------------
6077 WDI_PNOScanCb
6078
6079 DESCRIPTION
6080
6081 This callback is invoked by DAL when it has received a Set PNO
6082 response from the underlying device.
6083
6084 PARAMETERS
6085
6086 IN
6087 wdiStatus: response status received from HAL
6088 pUserData: user data
6089
6090
6091
6092 RETURN VALUE
6093 The result code associated with performing the operation
6094---------------------------------------------------------------------------*/
6095typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6096 void* pUserData);
6097
6098/*---------------------------------------------------------------------------
6099 WDI_UpdateScanParamsCb
6100
6101 DESCRIPTION
6102
6103 This callback is invoked by DAL when it has received a Update Scan Params
6104 response from the underlying device.
6105
6106 PARAMETERS
6107
6108 IN
6109 wdiStatus: response status received from HAL
6110 pUserData: user data
6111
6112
6113
6114 RETURN VALUE
6115 The result code associated with performing the operation
6116---------------------------------------------------------------------------*/
6117typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
6118 void* pUserData);
6119#endif // FEATURE_WLAN_SCAN_PNO
6120
6121/*---------------------------------------------------------------------------
6122 WDI_SetTxPerTrackingRspCb
6123
6124 DESCRIPTION
6125
6126 This callback is invoked by DAL when it has received a Tx PER Tracking
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_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
6141 void* pUserData);
6142
6143#ifdef WLAN_FEATURE_PACKET_FILTERING
6144/*---------------------------------------------------------------------------
6145 WDI_8023MulticastListCb
6146
6147 DESCRIPTION
6148
6149 This callback is invoked by DAL when it has received a 8023 Multicast List
6150 response from the underlying device.
6151
6152 PARAMETERS
6153
6154 IN
6155 wdiStatus: response status received from HAL
6156 pUserData: user data
6157
6158
6159
6160 RETURN VALUE
6161 The result code associated with performing the operation
6162---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006163typedef void (*WDI_8023MulticastListCb)(
6164 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
6165 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006166
6167/*---------------------------------------------------------------------------
6168 WDI_ReceiveFilterSetFilterCb
6169
6170 DESCRIPTION
6171
6172 This callback is invoked by DAL when it has received a Receive Filter Set Filter
6173 response from the underlying device.
6174
6175 PARAMETERS
6176
6177 IN
6178 wdiStatus: response status received from HAL
6179 pUserData: user data
6180
6181
6182
6183 RETURN VALUE
6184 The result code associated with performing the operation
6185---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006186typedef void (*WDI_ReceiveFilterSetFilterCb)(
6187 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
6188 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006189
6190/*---------------------------------------------------------------------------
6191 WDI_FilterMatchCountCb
6192
6193 DESCRIPTION
6194
6195 This callback is invoked by DAL when it has received a Do PC Filter Match Count
6196 response from the underlying device.
6197
6198 PARAMETERS
6199
6200 IN
6201 wdiStatus: response status received from HAL
6202 pUserData: user data
6203
6204
6205
6206 RETURN VALUE
6207 The result code associated with performing the operation
6208---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006209typedef void (*WDI_FilterMatchCountCb)(
6210 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
6211 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006212
6213/*---------------------------------------------------------------------------
6214 WDI_ReceiveFilterClearFilterCb
6215
6216 DESCRIPTION
6217
6218 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
6219 response from the underlying device.
6220
6221 PARAMETERS
6222
6223 IN
6224 wdiStatus: response status received from HAL
6225 pUserData: user data
6226
6227
6228
6229 RETURN VALUE
6230 The result code associated with performing the operation
6231---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006232typedef void (*WDI_ReceiveFilterClearFilterCb)(
6233 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
6234 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006235#endif // WLAN_FEATURE_PACKET_FILTERING
6236
6237/*---------------------------------------------------------------------------
6238 WDI_HALDumpCmdRspCb
6239
6240 DESCRIPTION
6241
6242 This callback is invoked by DAL when it has received a HAL DUMP Command
6243response from
6244 the HAL layer.
6245
6246 PARAMETERS
6247
6248 IN
6249 wdiHalDumpCmdRsp: response status received from HAL
6250 pUserData: user data
6251
6252
6253
6254 RETURN VALUE
6255 The result code associated with performing the operation
6256---------------------------------------------------------------------------*/
6257typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
6258 void* pUserData);
6259
6260/*---------------------------------------------------------------------------
6261 WDI_SetPowerParamsCb
6262
6263 DESCRIPTION
6264
6265 This callback is invoked by DAL when it has received a Set Power Param
6266 response from the underlying device.
6267
6268 PARAMETERS
6269
6270 IN
6271 wdiStatus: response status received from HAL
6272 pUserData: user data
6273
6274
6275
6276 RETURN VALUE
6277 The result code associated with performing the operation
6278---------------------------------------------------------------------------*/
6279typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
6280 void* pUserData);
6281
6282#ifdef WLAN_FEATURE_GTK_OFFLOAD
6283/*---------------------------------------------------------------------------
6284 WDI_GtkOffloadCb
6285
6286 DESCRIPTION
6287
6288 This callback is invoked by DAL when it has received a GTK offload
6289 response from the underlying device.
6290
6291 PARAMETERS
6292
6293 IN
6294 wdiStatus: response status received from HAL
6295 pUserData: user data
6296
6297
6298
6299 RETURN VALUE
6300 The result code associated with performing the operation
6301---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006302typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006303 void* pUserData);
6304
6305/*---------------------------------------------------------------------------
6306 WDI_GtkOffloadGetInfoCb
6307
6308 DESCRIPTION
6309
6310 This callback is invoked by DAL when it has received a GTK offload
6311 information response from the underlying device.
6312
6313 PARAMETERS
6314
6315 IN
6316 wdiStatus: response status received from HAL
6317 pUserData: user data
6318
6319
6320
6321 RETURN VALUE
6322 The result code associated with performing the operation
6323---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006324typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006325 void* pUserData);
6326#endif // WLAN_FEATURE_GTK_OFFLOAD
6327
6328/*---------------------------------------------------------------------------
6329 WDI_SetTmLevelCb
6330
6331 DESCRIPTION
6332
6333 This callback is invoked by DAL when it has received a Set New TM Level
6334 done response from the underlying device.
6335
6336 PARAMETERS
6337
6338 IN
6339 wdiStatus: response status received from HAL
6340 pUserData: user data
6341
6342
6343
6344 RETURN VALUE
6345 The result code associated with performing the operation
6346---------------------------------------------------------------------------*/
6347typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
6348 void* pUserData);
6349
6350/*---------------------------------------------------------------------------
6351 WDI_featureCapsExchangeCb
6352
6353 DESCRIPTION
6354
6355 This callback is invoked by DAL when it has received a HAL Feature Capbility
6356 Exchange Response the HAL layer. This callback is put to mantain code
6357 similarity and is not being used right now.
6358
6359 PARAMETERS
6360
6361 IN
6362 wdiFeatCapRspParams: response parameters received from HAL
6363 pUserData: user data
6364
6365 RETURN VALUE
6366 The result code associated with performing the operation
6367---------------------------------------------------------------------------*/
6368typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
6369 void* pUserData);
6370
Mohit Khanna4a70d262012-09-11 16:30:12 -07006371#ifdef WLAN_FEATURE_11AC
6372typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
6373 void* pUserData);
6374#endif
6375
6376
Jeff Johnson295189b2012-06-20 16:38:30 -07006377/*========================================================================
6378 * Function Declarations and Documentation
6379 ==========================================================================*/
6380
6381/*========================================================================
6382
6383 INITIALIZATION APIs
6384
6385==========================================================================*/
6386
6387/**
6388 @brief WDI_Init is used to initialize the DAL.
6389
6390 DAL will allocate all the resources it needs. It will open PAL, it will also
6391 open both the data and the control transport which in their turn will open
6392 DXE/SMD or any other drivers that they need.
6393
6394 @param pOSContext: pointer to the OS context provided by the UMAC
6395 will be passed on to PAL on Open
6396 ppWDIGlobalCtx: output pointer of Global Context
6397 pWdiDevCapability: output pointer of device capability
6398
6399 @return Result of the function call
6400*/
6401WDI_Status
6402WDI_Init
6403(
6404 void* pOSContext,
6405 void** ppWDIGlobalCtx,
6406 WDI_DeviceCapabilityType* pWdiDevCapability,
6407 unsigned int driverType
6408);
6409
6410/**
6411 @brief WDI_Start will be called when the upper MAC is ready to
6412 commence operation with the WLAN Device. Upon the call
6413 of this API the WLAN DAL will pack and send a HAL Start
6414 message to the lower RIVA sub-system if the SMD channel
6415 has been fully opened and the RIVA subsystem is up.
6416
6417 If the RIVA sub-system is not yet up and running DAL
6418 will queue the request for Open and will wait for the
6419 SMD notification before attempting to send down the
6420 message to HAL.
6421
6422 WDI_Init must have been called.
6423
6424 @param wdiStartParams: the start parameters as specified by
6425 the Device Interface
6426
6427 wdiStartRspCb: callback for passing back the response of
6428 the start operation received from the device
6429
6430 pUserData: user data will be passed back with the
6431 callback
6432
6433 @see WDI_Start
6434 @return Result of the function call
6435*/
6436WDI_Status
6437WDI_Start
6438(
6439 WDI_StartReqParamsType* pwdiStartParams,
6440 WDI_StartRspCb wdiStartRspCb,
6441 void* pUserData
6442);
6443
6444
6445/**
6446 @brief WDI_Stop will be called when the upper MAC is ready to
6447 stop any operation with the WLAN Device. Upon the call
6448 of this API the WLAN DAL will pack and send a HAL Stop
6449 message to the lower RIVA sub-system if the DAL Core is
6450 in started state.
6451
6452 In state BUSY this request will be queued.
6453
6454 Request will not be accepted in any other state.
6455
6456 WDI_Start must have been called.
6457
6458 @param wdiStopParams: the stop parameters as specified by
6459 the Device Interface
6460
6461 wdiStopRspCb: callback for passing back the response of
6462 the stop operation received from the device
6463
6464 pUserData: user data will be passed back with the
6465 callback
6466
6467 @see WDI_Start
6468 @return Result of the function call
6469*/
6470WDI_Status
6471WDI_Stop
6472(
6473 WDI_StopReqParamsType* pwdiStopParams,
6474 WDI_StopRspCb wdiStopRspCb,
6475 void* pUserData
6476);
6477
6478/**
6479 @brief WDI_Close will be called when the upper MAC no longer
6480 needs to interract with DAL. DAL will free its control
6481 block.
6482
6483 It is only accepted in state STOPPED.
6484
6485 WDI_Stop must have been called.
6486
6487 @param none
6488
6489 @see WDI_Stop
6490 @return Result of the function call
6491*/
6492WDI_Status
6493WDI_Close
6494(
6495 void
6496);
6497
6498
6499/**
6500 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
6501 This will do most of the WDI stop & close
6502 operations without doing any handshake with Riva
6503
6504 This will also make sure that the control transport
6505 will NOT be closed.
6506
6507 This request will not be queued.
6508
6509
6510 WDI_Start must have been called.
6511
6512 @param closeTransport: Close control channel if this is set
6513
6514 @return Result of the function call
6515*/
6516WDI_Status
6517WDI_Shutdown
6518(
6519 wpt_boolean closeTransport
6520);
6521
6522/*========================================================================
6523
6524 SCAN APIs
6525
6526==========================================================================*/
6527
6528/**
6529 @brief WDI_InitScanReq will be called when the upper MAC wants
6530 the WLAN Device to get ready for a scan procedure. Upon
6531 the call of this API the WLAN DAL will pack and send a
6532 HAL Init Scan request message to the lower RIVA
6533 sub-system if DAL is in state STARTED.
6534
6535 In state BUSY this request will be queued. Request won't
6536 be allowed in any other state.
6537
6538 WDI_Start must have been called.
6539
6540 @param wdiInitScanParams: the init scan parameters as specified
6541 by the Device Interface
6542
6543 wdiInitScanRspCb: callback for passing back the response
6544 of the init scan operation received from the device
6545
6546 pUserData: user data will be passed back with the
6547 callback
6548
6549 @see WDI_Start
6550 @return Result of the function call
6551*/
6552WDI_Status
6553WDI_InitScanReq
6554(
6555 WDI_InitScanReqParamsType* pwdiInitScanParams,
6556 WDI_InitScanRspCb wdiInitScanRspCb,
6557 void* pUserData
6558);
6559
6560/**
6561 @brief WDI_StartScanReq will be called when the upper MAC
6562 wishes to change the Scan channel on the WLAN Device.
6563 Upon the call of this API the WLAN DAL will pack and
6564 send a HAL Start Scan request message to the lower RIVA
6565 sub-system if DAL is in state STARTED.
6566
6567 In state BUSY this request will be queued. Request won't
6568 be allowed in any other state.
6569
6570 WDI_InitScanReq must have been called.
6571
6572 @param wdiStartScanParams: the start scan parameters as
6573 specified by the Device Interface
6574
6575 wdiStartScanRspCb: callback for passing back the
6576 response of the start scan operation received from the
6577 device
6578
6579 pUserData: user data will be passed back with the
6580 callback
6581
6582 @see WDI_InitScanReq
6583 @return Result of the function call
6584*/
6585WDI_Status
6586WDI_StartScanReq
6587(
6588 WDI_StartScanReqParamsType* pwdiStartScanParams,
6589 WDI_StartScanRspCb wdiStartScanRspCb,
6590 void* pUserData
6591);
6592
6593
6594/**
6595 @brief WDI_EndScanReq will be called when the upper MAC is
6596 wants to end scanning for a particular channel that it
6597 had set before by calling Scan Start on the WLAN Device.
6598 Upon the call of this API the WLAN DAL will pack and
6599 send a HAL End Scan request message to the lower RIVA
6600 sub-system if DAL is in state STARTED.
6601
6602 In state BUSY this request will be queued. Request won't
6603 be allowed in any other state.
6604
6605 WDI_StartScanReq must have been called.
6606
6607 @param wdiEndScanParams: the end scan parameters as specified
6608 by the Device Interface
6609
6610 wdiEndScanRspCb: callback for passing back the response
6611 of the end scan operation received from the device
6612
6613 pUserData: user data will be passed back with the
6614 callback
6615
6616 @see WDI_StartScanReq
6617 @return Result of the function call
6618*/
6619WDI_Status
6620WDI_EndScanReq
6621(
6622 WDI_EndScanReqParamsType* pwdiEndScanParams,
6623 WDI_EndScanRspCb wdiEndScanRspCb,
6624 void* pUserData
6625);
6626
6627
6628/**
6629 @brief WDI_FinishScanReq will be called when the upper MAC has
6630 completed the scan process on the WLAN Device. Upon the
6631 call of this API the WLAN DAL will pack and send a HAL
6632 Finish Scan Request request message to the lower RIVA
6633 sub-system if DAL is in state STARTED.
6634
6635 In state BUSY this request will be queued. Request won't
6636 be allowed in any other state.
6637
6638 WDI_InitScanReq must have been called.
6639
6640 @param wdiFinishScanParams: the finish scan parameters as
6641 specified by the Device Interface
6642
6643 wdiFinishScanRspCb: callback for passing back the
6644 response of the finish scan operation received from the
6645 device
6646
6647 pUserData: user data will be passed back with the
6648 callback
6649
6650 @see WDI_InitScanReq
6651 @return Result of the function call
6652*/
6653WDI_Status
6654WDI_FinishScanReq
6655(
6656 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
6657 WDI_FinishScanRspCb wdiFinishScanRspCb,
6658 void* pUserData
6659);
6660
6661/*========================================================================
6662
6663 ASSOCIATION APIs
6664
6665==========================================================================*/
6666
6667/**
6668 @brief WDI_JoinReq will be called when the upper MAC is ready
6669 to start an association procedure to a BSS. Upon the
6670 call of this API the WLAN DAL will pack and send a HAL
6671 Join request message to the lower RIVA sub-system if
6672 DAL is in state STARTED.
6673
6674 In state BUSY this request will be queued. Request won't
6675 be allowed in any other state.
6676
6677 WDI_Start must have been called.
6678
6679 @param wdiJoinParams: the join parameters as specified by
6680 the Device Interface
6681
6682 wdiJoinRspCb: callback for passing back the response of
6683 the join operation received from the device
6684
6685 pUserData: user data will be passed back with the
6686 callback
6687
6688 @see WDI_Start
6689 @return Result of the function call
6690*/
6691WDI_Status
6692WDI_JoinReq
6693(
6694 WDI_JoinReqParamsType* pwdiJoinParams,
6695 WDI_JoinRspCb wdiJoinRspCb,
6696 void* pUserData
6697);
6698
6699/**
6700 @brief WDI_ConfigBSSReq will be called when the upper MAC
6701 wishes to configure the newly acquired or in process of
6702 being acquired BSS to the HW . Upon the call of this API
6703 the WLAN DAL will pack and send a HAL Config BSS request
6704 message to the lower RIVA sub-system if DAL is in state
6705 STARTED.
6706
6707 In state BUSY this request will be queued. Request won't
6708 be allowed in any other state.
6709
6710 WDI_JoinReq must have been called.
6711
6712 @param wdiConfigBSSParams: the config BSS parameters as
6713 specified by the Device Interface
6714
6715 wdiConfigBSSRspCb: callback for passing back the
6716 response of the config BSS operation received from the
6717 device
6718
6719 pUserData: user data will be passed back with the
6720 callback
6721
6722 @see WDI_JoinReq
6723 @return Result of the function call
6724*/
6725WDI_Status
6726WDI_ConfigBSSReq
6727(
6728 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
6729 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
6730 void* pUserData
6731);
6732
6733/**
6734 @brief WDI_DelBSSReq will be called when the upper MAC is
6735 dissasociating from the BSS and wishes to notify HW.
6736 Upon the call of this API the WLAN DAL will pack and
6737 send a HAL Del BSS request message to the lower RIVA
6738 sub-system if DAL is in state STARTED.
6739
6740 In state BUSY this request will be queued. Request won't
6741 be allowed in any other state.
6742
6743 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
6744
6745 @param wdiDelBSSParams: the del BSS parameters as specified by
6746 the Device Interface
6747
6748 wdiDelBSSRspCb: callback for passing back the response
6749 of the del bss operation received from the device
6750
6751 pUserData: user data will be passed back with the
6752 callback
6753
6754 @see WDI_ConfigBSSReq, WDI_PostAssocReq
6755 @return Result of the function call
6756*/
6757WDI_Status
6758WDI_DelBSSReq
6759(
6760 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
6761 WDI_DelBSSRspCb wdiDelBSSRspCb,
6762 void* pUserData
6763);
6764
6765/**
6766 @brief WDI_PostAssocReq will be called when the upper MAC has
6767 associated to a BSS and wishes to configure HW for
6768 associated state. Upon the call of this API the WLAN DAL
6769 will pack and send a HAL Post Assoc request message to
6770 the lower RIVA sub-system if DAL is in state STARTED.
6771
6772 In state BUSY this request will be queued. Request won't
6773 be allowed in any other state.
6774
6775 WDI_JoinReq must have been called.
6776
6777 @param wdiPostAssocReqParams: the assoc parameters as specified
6778 by the Device Interface
6779
6780 wdiPostAssocRspCb: callback for passing back the
6781 response of the post assoc operation received from the
6782 device
6783
6784 pUserData: user data will be passed back with the
6785 callback
6786
6787 @see WDI_JoinReq
6788 @return Result of the function call
6789*/
6790WDI_Status
6791WDI_PostAssocReq
6792(
6793 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
6794 WDI_PostAssocRspCb wdiPostAssocRspCb,
6795 void* pUserData
6796);
6797
6798/**
6799 @brief WDI_DelSTAReq will be called when the upper MAC when an
6800 association with another STA has ended and the station
6801 must be deleted from HW. Upon the call of this API the
6802 WLAN DAL will pack and send a HAL Del STA request
6803 message to the lower RIVA sub-system if DAL is in state
6804 STARTED.
6805
6806 In state BUSY this request will be queued. Request won't
6807 be allowed in any other state.
6808
6809 WDI_PostAssocReq must have been called.
6810
6811 @param wdiDelSTAParams: the Del STA parameters as specified by
6812 the Device Interface
6813
6814 wdiDelSTARspCb: callback for passing back the response
6815 of the del STA operation received from the device
6816
6817 pUserData: user data will be passed back with the
6818 callback
6819
6820 @see WDI_PostAssocReq
6821 @return Result of the function call
6822*/
6823WDI_Status
6824WDI_DelSTAReq
6825(
6826 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
6827 WDI_DelSTARspCb wdiDelSTARspCb,
6828 void* pUserData
6829);
6830
6831/*========================================================================
6832
6833 SECURITY APIs
6834
6835==========================================================================*/
6836
6837/**
6838 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
6839 install a BSS encryption key on the HW. Upon the call of
6840 this API the WLAN DAL will pack and send a HAL Start
6841 request message to the lower RIVA sub-system if DAL is
6842 in state STARTED.
6843
6844 In state BUSY this request will be queued. Request won't
6845 be allowed in any other state.
6846
6847 WDI_PostAssocReq must have been called.
6848
6849 @param wdiSetBSSKeyParams: the BSS Key set parameters as
6850 specified by the Device Interface
6851
6852 wdiSetBSSKeyRspCb: callback for passing back the
6853 response of the set BSS Key operation received from the
6854 device
6855
6856 pUserData: user data will be passed back with the
6857 callback
6858
6859 @see WDI_PostAssocReq
6860 @return Result of the function call
6861*/
6862WDI_Status
6863WDI_SetBSSKeyReq
6864(
6865 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
6866 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
6867 void* pUserData
6868);
6869
6870
6871/**
6872 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
6873 uninstall a BSS key from HW. Upon the call of this API
6874 the WLAN DAL will pack and send a HAL Remove BSS Key
6875 request message to the lower RIVA sub-system if DAL is
6876 in state STARTED.
6877
6878 In state BUSY this request will be queued. Request won't
6879 be allowed in any other state.
6880
6881 WDI_SetBSSKeyReq must have been called.
6882
6883 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
6884 specified by the Device Interface
6885
6886 wdiRemoveBSSKeyRspCb: callback for passing back the
6887 response of the remove BSS key operation received from
6888 the device
6889
6890 pUserData: user data will be passed back with the
6891 callback
6892
6893 @see WDI_SetBSSKeyReq
6894 @return Result of the function call
6895*/
6896WDI_Status
6897WDI_RemoveBSSKeyReq
6898(
6899 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
6900 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
6901 void* pUserData
6902);
6903
6904
6905/**
6906 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
6907 ready to install a STA(ast) encryption key in HW. Upon
6908 the call of this API the WLAN DAL will pack and send a
6909 HAL Set STA Key request message to the lower RIVA
6910 sub-system if DAL is in state STARTED.
6911
6912 In state BUSY this request will be queued. Request won't
6913 be allowed in any other state.
6914
6915 WDI_PostAssocReq must have been called.
6916
6917 @param wdiSetSTAKeyParams: the set STA key parameters as
6918 specified by the Device Interface
6919
6920 wdiSetSTAKeyRspCb: callback for passing back the
6921 response of the set STA key operation received from the
6922 device
6923
6924 pUserData: user data will be passed back with the
6925 callback
6926
6927 @see WDI_PostAssocReq
6928 @return Result of the function call
6929*/
6930WDI_Status
6931WDI_SetSTAKeyReq
6932(
6933 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
6934 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
6935 void* pUserData
6936);
6937
6938
6939/**
6940 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
6941 wants to unistall a previously set STA key in HW. Upon
6942 the call of this API the WLAN DAL will pack and send a
6943 HAL Remove STA Key request message to the lower RIVA
6944 sub-system if DAL is in state STARTED.
6945
6946 In state BUSY this request will be queued. Request won't
6947 be allowed in any other state.
6948
6949 WDI_SetSTAKeyReq must have been called.
6950
6951 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
6952 specified by the Device Interface
6953
6954 wdiRemoveSTAKeyRspCb: callback for passing back the
6955 response of the remove STA key operation received from
6956 the device
6957
6958 pUserData: user data will be passed back with the
6959 callback
6960
6961 @see WDI_SetSTAKeyReq
6962 @return Result of the function call
6963*/
6964WDI_Status
6965WDI_RemoveSTAKeyReq
6966(
6967 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
6968 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
6969 void* pUserData
6970);
6971
6972/**
6973 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
6974 wants to install a STA Bcast encryption key on the HW.
6975 Upon the call of this API the WLAN DAL will pack and
6976 send a HAL Start request message to the lower RIVA
6977 sub-system if DAL is in state STARTED.
6978
6979 In state BUSY this request will be queued. Request won't
6980 be allowed in any other state.
6981
6982 WDI_PostAssocReq must have been called.
6983
6984 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
6985 specified by the Device Interface
6986
6987 wdiSetSTABcastKeyRspCb: callback for passing back the
6988 response of the set BSS Key operation received from the
6989 device
6990
6991 pUserData: user data will be passed back with the
6992 callback
6993
6994 @see WDI_PostAssocReq
6995 @return Result of the function call
6996*/
6997WDI_Status
6998WDI_SetSTABcastKeyReq
6999(
7000 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7001 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7002 void* pUserData
7003);
7004
7005
7006/**
7007 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7008 MAC to uninstall a STA Bcast key from HW. Upon the call
7009 of this API the WLAN DAL will pack and send a HAL Remove
7010 STA Bcast Key request message to the lower RIVA
7011 sub-system if DAL is in state STARTED.
7012
7013 In state BUSY this request will be queued. Request won't
7014 be allowed in any other state.
7015
7016 WDI_SetSTABcastKeyReq must have been called.
7017
7018 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7019 parameters as specified by the Device
7020 Interface
7021
7022 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7023 response of the remove STA Bcast key operation received
7024 from the device
7025
7026 pUserData: user data will be passed back with the
7027 callback
7028
7029 @see WDI_SetSTABcastKeyReq
7030 @return Result of the function call
7031*/
7032WDI_Status
7033WDI_RemoveSTABcastKeyReq
7034(
7035 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7036 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7037 void* pUserData
7038);
7039
7040/**
7041 @brief WDI_SetMaxTxPowerReq will be called when the upper
7042 MAC wants to set Max Tx Power to HW. Upon the
7043 call of this API the WLAN DAL will pack and send a HAL
7044 Remove STA Bcast Key request message to the lower RIVA
7045 sub-system if DAL is in state STARTED.
7046
7047 In state BUSY this request will be queued. Request won't
7048 be allowed in any other state.
7049
7050 WDI_SetSTABcastKeyReq must have been called.
7051
7052 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7053 parameters as specified by the Device
7054 Interface
7055
7056 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7057 response of the remove STA Bcast key operation received
7058 from the device
7059
7060 pUserData: user data will be passed back with the
7061 callback
7062
7063 @see WDI_SetMaxTxPowerReq
7064 @return Result of the function call
7065*/
7066WDI_Status
7067WDI_SetMaxTxPowerReq
7068(
7069 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
7070 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
7071 void* pUserData
7072);
7073
7074#ifdef FEATURE_WLAN_CCX
7075/**
7076 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
7077 Traffic Stream metrics.
7078 In state BUSY this request will be queued. Request won't
7079 be allowed in any other state.
7080
7081 @param wdiAddTsReqParams: the add TS parameters as specified by
7082 the Device Interface
7083
7084 wdiAddTsRspCb: callback for passing back the response of
7085 the add TS operation received from the device
7086
7087 pUserData: user data will be passed back with the
7088 callback
7089
7090 @see WDI_PostAssocReq
7091 @return Result of the function call
7092*/
7093WDI_Status
7094WDI_TSMStatsReq
7095(
7096 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
7097 WDI_TsmRspCb wdiTsmStatsRspCb,
7098 void* pUserData
7099);
7100
7101
7102#endif
7103
7104/*========================================================================
7105
7106 QoS and BA APIs
7107
7108==========================================================================*/
7109
7110/**
7111 @brief WDI_AddTSReq will be called when the upper MAC to inform
7112 the device of a successful add TSpec negotiation. HW
7113 needs to receive the TSpec Info from the UMAC in order
7114 to configure properly the QoS data traffic. Upon the
7115 call of this API the WLAN DAL will pack and send a HAL
7116 Add TS request message to the lower RIVA sub-system if
7117 DAL is in state STARTED.
7118
7119 In state BUSY this request will be queued. Request won't
7120 be allowed in any other state.
7121
7122 WDI_PostAssocReq must have been called.
7123
7124 @param wdiAddTsReqParams: the add TS parameters as specified by
7125 the Device Interface
7126
7127 wdiAddTsRspCb: callback for passing back the response of
7128 the add TS operation received from the device
7129
7130 pUserData: user data will be passed back with the
7131 callback
7132
7133 @see WDI_PostAssocReq
7134 @return Result of the function call
7135*/
7136WDI_Status
7137WDI_AddTSReq
7138(
7139 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
7140 WDI_AddTsRspCb wdiAddTsRspCb,
7141 void* pUserData
7142);
7143
7144
7145
7146/**
7147 @brief WDI_DelTSReq will be called when the upper MAC has ended
7148 admission on a specific AC. This is to inform HW that
7149 QoS traffic parameters must be rest. Upon the call of
7150 this API the WLAN DAL will pack and send a HAL Del TS
7151 request message to the lower RIVA sub-system if DAL is
7152 in state STARTED.
7153
7154 In state BUSY this request will be queued. Request won't
7155 be allowed in any other state.
7156
7157 WDI_AddTSReq must have been called.
7158
7159 @param wdiDelTsReqParams: the del TS parameters as specified by
7160 the Device Interface
7161
7162 wdiDelTsRspCb: callback for passing back the response of
7163 the del TS operation received from the device
7164
7165 pUserData: user data will be passed back with the
7166 callback
7167
7168 @see WDI_AddTSReq
7169 @return Result of the function call
7170*/
7171WDI_Status
7172WDI_DelTSReq
7173(
7174 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
7175 WDI_DelTsRspCb wdiDelTsRspCb,
7176 void* pUserData
7177);
7178
7179
7180
7181/**
7182 @brief WDI_UpdateEDCAParams will be called when the upper MAC
7183 wishes to update the EDCA parameters used by HW for QoS
7184 data traffic. Upon the call of this API the WLAN DAL
7185 will pack and send a HAL Update EDCA Params request
7186 message to the lower RIVA sub-system if DAL is in state
7187 STARTED.
7188
7189 In state BUSY this request will be queued. Request won't
7190 be allowed in any other state.
7191
7192 WDI_PostAssocReq must have been called.
7193
7194 @param wdiUpdateEDCAParams: the start parameters as specified
7195 by the Device Interface
7196
7197 wdiUpdateEDCAParamsRspCb: callback for passing back the
7198 response of the start operation received from the device
7199
7200 pUserData: user data will be passed back with the
7201 callback
7202
7203 @see WDI_PostAssocReq
7204 @return Result of the function call
7205*/
7206WDI_Status
7207WDI_UpdateEDCAParams
7208(
7209 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
7210 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
7211 void* pUserData
7212);
7213
7214
7215
7216/**
7217 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
7218 successfully a BA session and needs to notify the HW for
7219 the appropriate settings to take place. Upon the call of
7220 this API the WLAN DAL will pack and send a HAL Add BA
7221 request message to the lower RIVA sub-system if DAL is
7222 in state STARTED.
7223
7224 In state BUSY this request will be queued. Request won't
7225 be allowed in any other state.
7226
7227 WDI_PostAssocReq must have been called.
7228
7229 @param wdiAddBAReqParams: the add BA parameters as specified by
7230 the Device Interface
7231
7232 wdiAddBARspCb: callback for passing back the response of
7233 the add BA operation received from the device
7234
7235 pUserData: user data will be passed back with the
7236 callback
7237
7238 @see WDI_PostAssocReq
7239 @return Result of the function call
7240*/
7241WDI_Status
7242WDI_AddBASessionReq
7243(
7244 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
7245 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
7246 void* pUserData
7247);
7248
7249
7250/**
7251 @brief WDI_DelBAReq will be called when the upper MAC wants to
7252 inform HW that it has deleted a previously created BA
7253 session. Upon the call of this API the WLAN DAL will
7254 pack and send a HAL Del BA request message to the lower
7255 RIVA sub-system if DAL is in state STARTED.
7256
7257 In state BUSY this request will be queued. Request won't
7258 be allowed in any other state.
7259
7260 WDI_AddBAReq must have been called.
7261
7262 @param wdiDelBAReqParams: the del BA parameters as specified by
7263 the Device Interface
7264
7265 wdiDelBARspCb: callback for passing back the response of
7266 the del BA operation received from the device
7267
7268 pUserData: user data will be passed back with the
7269 callback
7270
7271 @see WDI_AddBAReq
7272 @return Result of the function call
7273*/
7274WDI_Status
7275WDI_DelBAReq
7276(
7277 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
7278 WDI_DelBARspCb wdiDelBARspCb,
7279 void* pUserData
7280);
7281
7282/**
7283 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
7284 inform HW that there is a change in the beacon parameters
7285 Upon the call of this API the WLAN DAL will
7286 pack and send a UpdateBeacon Params message to the lower
7287 RIVA sub-system if DAL is in state STARTED.
7288
7289 In state BUSY this request will be queued. Request won't
7290 be allowed in any other state.
7291
7292 WDI_UpdateBeaconParamsReq must have been called.
7293
7294 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
7295 the Device Interface
7296
7297 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
7298 the Update Beacon Params operation received from the device
7299
7300 pUserData: user data will be passed back with the
7301 callback
7302
7303 @see WDI_AddBAReq
7304 @return Result of the function call
7305*/
7306
7307WDI_Status
7308WDI_UpdateBeaconParamsReq
7309(
7310 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
7311 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
7312 void* pUserData
7313);
7314
7315
7316/**
7317 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
7318 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
7319 Upon the call of this API the WLAN DAL will
7320 pack and send the beacon Template message to the lower
7321 RIVA sub-system if DAL is in state STARTED.
7322
7323 In state BUSY this request will be queued. Request won't
7324 be allowed in any other state.
7325
7326 WDI_SendBeaconParamsReq must have been called.
7327
7328 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
7329 the Device Interface
7330
7331 WDI_SendBeaconParamsRspCb: callback for passing back the response of
7332 the Send Beacon Params operation received from the device
7333
7334 pUserData: user data will be passed back with the
7335 callback
7336
7337 @see WDI_AddBAReq
7338 @return Result of the function call
7339*/
7340
7341WDI_Status
7342WDI_SendBeaconParamsReq
7343(
7344 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
7345 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
7346 void* pUserData
7347);
7348
7349
7350/**
7351 @brief WDI_UpdateProbeRspTemplateReq will be called when the
7352 upper MAC wants to update the probe response template to
7353 be transmitted as Soft AP
7354 Upon the call of this API the WLAN DAL will
7355 pack and send the probe rsp template message to the
7356 lower RIVA sub-system if DAL is in state STARTED.
7357
7358 In state BUSY this request will be queued. Request won't
7359 be allowed in any other state.
7360
7361
7362 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
7363 specified by the Device Interface
7364
7365 wdiSendBeaconParamsRspCb: callback for passing back the
7366 response of the Send Beacon Params operation received
7367 from the device
7368
7369 pUserData: user data will be passed back with the
7370 callback
7371
7372 @see WDI_AddBAReq
7373 @return Result of the function call
7374*/
7375
7376WDI_Status
7377WDI_UpdateProbeRspTemplateReq
7378(
7379 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
7380 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
7381 void* pUserData
7382);
7383
7384#ifdef WLAN_FEATURE_P2P
7385/**
7386 @brief WDI_SetP2PGONOAReq will be called when the
7387 upper MAC wants to send Notice of Absence
7388 Upon the call of this API the WLAN DAL will
7389 pack and send the probe rsp template message to the
7390 lower RIVA sub-system if DAL is in state STARTED.
7391
7392 In state BUSY this request will be queued. Request won't
7393 be allowed in any other state.
7394
7395
7396 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
7397 specified by the Device Interface
7398
7399 wdiSendBeaconParamsRspCb: callback for passing back the
7400 response of the Send Beacon Params operation received
7401 from the device
7402
7403 pUserData: user data will be passed back with the
7404 callback
7405
7406 @see WDI_AddBAReq
7407 @return Result of the function call
7408*/
7409WDI_Status
7410WDI_SetP2PGONOAReq
7411(
7412 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
7413 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
7414 void* pUserData
7415);
7416#endif
7417
7418
7419/*========================================================================
7420
7421 Power Save APIs
7422
7423==========================================================================*/
7424
7425/**
7426 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
7427 wants to set the power save related configurations of
7428 the WLAN Device. Upon the call of this API the WLAN DAL
7429 will pack and send a HAL Update CFG request message to
7430 the lower RIVA sub-system if DAL is in state STARTED.
7431
7432 In state BUSY this request will be queued. Request won't
7433 be allowed in any other state.
7434
7435 WDI_Start must have been called.
7436
7437 @param pwdiPowerSaveCfg: the power save cfg parameters as
7438 specified by the Device Interface
7439
7440 wdiSetPwrSaveCfgCb: callback for passing back the
7441 response of the set power save cfg operation received
7442 from the device
7443
7444 pUserData: user data will be passed back with the
7445 callback
7446
7447 @see WDI_Start
7448 @return Result of the function call
7449*/
7450WDI_Status
7451WDI_SetPwrSaveCfgReq
7452(
7453 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
7454 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
7455 void* pUserData
7456);
7457
7458/**
7459 @brief WDI_EnterImpsReq will be called when the upper MAC to
7460 request the device to get into IMPS power state. Upon
7461 the call of this API the WLAN DAL will send a HAL Enter
7462 IMPS request message to the lower RIVA sub-system if DAL
7463 is in state STARTED.
7464
7465 In state BUSY this request will be queued. Request won't
7466 be allowed in any other state.
7467
7468
7469 @param wdiEnterImpsRspCb: callback for passing back the
7470 response of the Enter IMPS operation received from the
7471 device
7472
7473 pUserData: user data will be passed back with the
7474 callback
7475
7476 @see WDI_Start
7477 @return Result of the function call
7478*/
7479WDI_Status
7480WDI_EnterImpsReq
7481(
7482 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
7483 void* pUserData
7484);
7485
7486/**
7487 @brief WDI_ExitImpsReq will be called when the upper MAC to
7488 request the device to get out of IMPS power state. Upon
7489 the call of this API the WLAN DAL will send a HAL Exit
7490 IMPS request message to the lower RIVA sub-system if DAL
7491 is in state STARTED.
7492
7493 In state BUSY this request will be queued. Request won't
7494 be allowed in any other state.
7495
7496
7497
7498 @param wdiExitImpsRspCb: callback for passing back the response
7499 of the Exit IMPS operation received from the device
7500
7501 pUserData: user data will be passed back with the
7502 callback
7503
7504 @see WDI_Start
7505 @return Result of the function call
7506*/
7507WDI_Status
7508WDI_ExitImpsReq
7509(
7510 WDI_ExitImpsRspCb wdiExitImpsRspCb,
7511 void* pUserData
7512);
7513
7514/**
7515 @brief WDI_EnterBmpsReq will be called when the upper MAC to
7516 request the device to get into BMPS power state. Upon
7517 the call of this API the WLAN DAL will pack and send a
7518 HAL Enter BMPS 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 pwdiEnterBmpsReqParams: the Enter BMPS parameters as
7527 specified by the Device Interface
7528
7529 wdiEnterBmpsRspCb: callback for passing back the
7530 response of the Enter BMPS 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_EnterBmpsReq
7541(
7542 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
7543 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
7544 void* pUserData
7545);
7546
7547/**
7548 @brief WDI_ExitBmpsReq will be called when the upper MAC to
7549 request the device to get out of BMPS power state. Upon
7550 the call of this API the WLAN DAL will pack and send a
7551 HAL Exit BMPS request message to the lower RIVA
7552 sub-system if DAL is in state STARTED.
7553
7554 In state BUSY this request will be queued. Request won't
7555 be allowed in any other state.
7556
7557 WDI_PostAssocReq must have been called.
7558
7559 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
7560 specified by the Device Interface
7561
7562 wdiExitBmpsRspCb: callback for passing back the response
7563 of the Exit BMPS operation received from the device
7564
7565 pUserData: user data will be passed back with the
7566 callback
7567
7568 @see WDI_PostAssocReq
7569 @return Result of the function call
7570*/
7571WDI_Status
7572WDI_ExitBmpsReq
7573(
7574 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
7575 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
7576 void* pUserData
7577);
7578
7579/**
7580 @brief WDI_EnterUapsdReq will be called when the upper MAC to
7581 request the device to get into UAPSD power state. Upon
7582 the call of this API the WLAN DAL will pack and send a
7583 HAL Enter UAPSD request message to the lower RIVA
7584 sub-system if DAL is in state STARTED.
7585
7586 In state BUSY this request will be queued. Request won't
7587 be allowed in any other state.
7588
7589 WDI_PostAssocReq must have been called.
7590 WDI_SetUapsdAcParamsReq must have been called.
7591
7592 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
7593 specified by the Device Interface
7594
7595 wdiEnterUapsdRspCb: callback for passing back the
7596 response of the Enter UAPSD operation received from the
7597 device
7598
7599 pUserData: user data will be passed back with the
7600 callback
7601
7602 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
7603 @return Result of the function call
7604*/
7605WDI_Status
7606WDI_EnterUapsdReq
7607(
7608 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
7609 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
7610 void* pUserData
7611);
7612
7613/**
7614 @brief WDI_ExitUapsdReq will be called when the upper MAC to
7615 request the device to get out of UAPSD power state. Upon
7616 the call of this API the WLAN DAL will send a HAL Exit
7617 UAPSD request message to the lower RIVA sub-system if
7618 DAL is in state STARTED.
7619
7620 In state BUSY this request will be queued. Request won't
7621 be allowed in any other state.
7622
7623 WDI_PostAssocReq must have been called.
7624
7625 @param wdiExitUapsdRspCb: callback for passing back the
7626 response of the Exit UAPSD operation received from the
7627 device
7628
7629 pUserData: user data will be passed back with the
7630 callback
7631
7632 @see WDI_PostAssocReq
7633 @return Result of the function call
7634*/
7635WDI_Status
7636WDI_ExitUapsdReq
7637(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007638 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007639 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
7640 void* pUserData
7641);
7642
7643/**
7644 @brief WDI_UpdateUapsdParamsReq will be called when the upper
7645 MAC wants to set the UAPSD related configurations
7646 of an associated STA (while acting as an AP) to the WLAN
7647 Device. Upon the call of this API the WLAN DAL will pack
7648 and send a HAL Update UAPSD params request message to
7649 the lower RIVA sub-system if DAL is in state STARTED.
7650
7651 In state BUSY this request will be queued. Request won't
7652 be allowed in any other state.
7653
7654 WDI_ConfigBSSReq must have been called.
7655
7656 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
7657 as specified by the Device Interface
7658
7659 wdiUpdateUapsdParamsCb: callback for passing back the
7660 response of the update UAPSD params operation received
7661 from the device
7662
7663 pUserData: user data will be passed back with the
7664 callback
7665
7666 @see WDI_ConfigBSSReq
7667 @return Result of the function call
7668*/
7669WDI_Status
7670WDI_UpdateUapsdParamsReq
7671(
7672 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
7673 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
7674 void* pUserData
7675);
7676
7677/**
7678 @brief WDI_SetUapsdAcParamsReq will be called when the upper
7679 MAC wants to set the UAPSD related configurations before
7680 requesting for enter UAPSD power state to the WLAN
7681 Device. Upon the call of this API the WLAN DAL will pack
7682 and send a HAL Set UAPSD params request message to
7683 the lower RIVA sub-system if DAL is in state STARTED.
7684
7685 In state BUSY this request will be queued. Request won't
7686 be allowed in any other state.
7687
7688 WDI_PostAssocReq must have been called.
7689
7690 @param pwdiUapsdInfo: the UAPSD parameters as specified by
7691 the Device Interface
7692
7693 wdiSetUapsdAcParamsCb: callback for passing back the
7694 response of the set UAPSD params operation received from
7695 the device
7696
7697 pUserData: user data will be passed back with the
7698 callback
7699
7700 @see WDI_PostAssocReq
7701 @return Result of the function call
7702*/
7703WDI_Status
7704WDI_SetUapsdAcParamsReq
7705(
7706 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
7707 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
7708 void* pUserData
7709);
7710
7711/**
7712 @brief WDI_ConfigureRxpFilterReq will be called when the upper
7713 MAC wants to set/reset the RXP filters for received pkts
7714 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
7715 and send a HAL configure RXP filter request message to
7716 the lower RIVA sub-system.
7717
7718 In state BUSY this request will be queued. Request won't
7719 be allowed in any other state.
7720
7721
7722 @param pwdiConfigureRxpFilterReqParams: the RXP
7723 filter as specified by the Device
7724 Interface
7725
7726 wdiConfigureRxpFilterCb: callback for passing back the
7727 response of the configure RXP filter operation received
7728 from the device
7729
7730 pUserData: user data will be passed back with the
7731 callback
7732
7733 @return Result of the function call
7734*/
7735WDI_Status
7736WDI_ConfigureRxpFilterReq
7737(
7738 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
7739 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
7740 void* pUserData
7741);
7742
7743/**
7744 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
7745 wants to set the beacon filters while in power save.
7746 Upon the call of this API the WLAN DAL will pack and
7747 send a Beacon filter request message to the
7748 lower RIVA sub-system.
7749
7750 In state BUSY this request will be queued. Request won't
7751 be allowed in any other state.
7752
7753
7754 @param pwdiBeaconFilterReqParams: the beacon
7755 filter as specified by the Device
7756 Interface
7757
7758 wdiBeaconFilterCb: callback for passing back the
7759 response of the set beacon filter operation received
7760 from the device
7761
7762 pUserData: user data will be passed back with the
7763 callback
7764
7765 @return Result of the function call
7766*/
7767WDI_Status
7768WDI_SetBeaconFilterReq
7769(
7770 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
7771 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
7772 void* pUserData
7773);
7774
7775/**
7776 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
7777 wants to remove the beacon filter for perticular IE
7778 while in power save. Upon the call of this API the WLAN
7779 DAL will pack and send a remove Beacon filter request
7780 message to the lower RIVA sub-system.
7781
7782 In state BUSY this request will be queued. Request won't
7783 be allowed in any other state.
7784
7785
7786 @param pwdiBeaconFilterReqParams: the beacon
7787 filter as specified by the Device
7788 Interface
7789
7790 wdiBeaconFilterCb: callback for passing back the
7791 response of the remove beacon filter operation received
7792 from the device
7793
7794 pUserData: user data will be passed back with the
7795 callback
7796
7797 @return Result of the function call
7798*/
7799WDI_Status
7800WDI_RemBeaconFilterReq
7801(
7802 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
7803 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
7804 void* pUserData
7805);
7806
7807/**
7808 @brief WDI_SetRSSIThresholdsReq will be called when the upper
7809 MAC wants to set the RSSI thresholds related
7810 configurations while in power save. Upon the call of
7811 this API the WLAN DAL will pack and send a HAL Set RSSI
7812 thresholds request message to the lower RIVA
7813 sub-system if DAL is in state STARTED.
7814
7815 In state BUSY this request will be queued. Request won't
7816 be allowed in any other state.
7817
7818 WDI_PostAssocReq must have been called.
7819
7820 @param pwdiUapsdInfo: the UAPSD parameters as specified by
7821 the Device Interface
7822
7823 wdiSetUapsdAcParamsCb: callback for passing back the
7824 response of the set UAPSD params operation received from
7825 the device
7826
7827 pUserData: user data will be passed back with the
7828 callback
7829
7830 @see WDI_PostAssocReq
7831 @return Result of the function call
7832*/
7833WDI_Status
7834WDI_SetRSSIThresholdsReq
7835(
7836 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
7837 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
7838 void* pUserData
7839);
7840
7841/**
7842 @brief WDI_HostOffloadReq will be called when the upper MAC
7843 wants to set the filter to minimize unnecessary host
7844 wakeup due to broadcast traffic while in power save.
7845 Upon the call of this API the WLAN DAL will pack and
7846 send a HAL host offload request message to the
7847 lower RIVA sub-system if DAL is in state STARTED.
7848
7849 In state BUSY this request will be queued. Request won't
7850 be allowed in any other state.
7851
7852 WDI_PostAssocReq must have been called.
7853
7854 @param pwdiHostOffloadParams: the host offload as specified
7855 by the Device Interface
7856
7857 wdiHostOffloadCb: callback for passing back the response
7858 of the host offload operation received from the
7859 device
7860
7861 pUserData: user data will be passed back with the
7862 callback
7863
7864 @see WDI_PostAssocReq
7865 @return Result of the function call
7866*/
7867WDI_Status
7868WDI_HostOffloadReq
7869(
7870 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
7871 WDI_HostOffloadCb wdiHostOffloadCb,
7872 void* pUserData
7873);
7874
7875/**
7876 @brief WDI_KeepAliveReq will be called when the upper MAC
7877 wants to set the filter to send NULL or unsolicited ARP responses
7878 and minimize unnecessary host wakeups due to while in power save.
7879 Upon the call of this API the WLAN DAL will pack and
7880 send a HAL Keep Alive request message to the
7881 lower RIVA sub-system if DAL is in state STARTED.
7882
7883 In state BUSY this request will be queued. Request won't
7884 be allowed in any other state.
7885
7886 WDI_PostAssocReq must have been called.
7887
7888 @param pwdiKeepAliveParams: the Keep Alive as specified
7889 by the Device Interface
7890
7891 wdiKeepAliveCb: callback for passing back the response
7892 of the Keep Alive operation received from the
7893 device
7894
7895 pUserData: user data will be passed back with the
7896 callback
7897
7898 @see WDI_PostAssocReq
7899 @return Result of the function call
7900*/
7901WDI_Status
7902WDI_KeepAliveReq
7903(
7904 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
7905 WDI_KeepAliveCb wdiKeepAliveCb,
7906 void* pUserData
7907);
7908
7909/**
7910 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
7911 wants to set the Wowl Bcast ptrn to minimize unnecessary
7912 host wakeup due to broadcast traffic while in power
7913 save. Upon the call of this API the WLAN DAL will pack
7914 and send a HAL Wowl Bcast ptrn request message to the
7915 lower RIVA sub-system if DAL is in state STARTED.
7916
7917 In state BUSY this request will be queued. Request won't
7918 be allowed in any other state.
7919
7920 WDI_PostAssocReq must have been called.
7921
7922 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
7923 specified by the Device Interface
7924
7925 wdiWowlAddBcPtrnCb: callback for passing back the
7926 response of the add Wowl bcast ptrn operation received
7927 from the device
7928
7929 pUserData: user data will be passed back with the
7930 callback
7931
7932 @see WDI_PostAssocReq
7933 @return Result of the function call
7934*/
7935WDI_Status
7936WDI_WowlAddBcPtrnReq
7937(
7938 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
7939 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
7940 void* pUserData
7941);
7942
7943/**
7944 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
7945 wants to clear the Wowl Bcast ptrn. Upon the call of
7946 this API the WLAN DAL will pack and send a HAL delete
7947 Wowl Bcast ptrn request message to the lower RIVA
7948 sub-system if DAL is in state STARTED.
7949
7950 In state BUSY this request will be queued. Request won't
7951 be allowed in any other state.
7952
7953 WDI_WowlAddBcPtrnReq must have been called.
7954
7955 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
7956 specified by the Device Interface
7957
7958 wdiWowlDelBcPtrnCb: callback for passing back the
7959 response of the del Wowl bcast ptrn operation received
7960 from the device
7961
7962 pUserData: user data will be passed back with the
7963 callback
7964
7965 @see WDI_WowlAddBcPtrnReq
7966 @return Result of the function call
7967*/
7968WDI_Status
7969WDI_WowlDelBcPtrnReq
7970(
7971 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
7972 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
7973 void* pUserData
7974);
7975
7976/**
7977 @brief WDI_WowlEnterReq will be called when the upper MAC
7978 wants to enter the Wowl state to minimize unnecessary
7979 host wakeup while in power save. Upon the call of this
7980 API the WLAN DAL will pack and send a HAL Wowl enter
7981 request message to the lower RIVA sub-system if DAL is
7982 in state STARTED.
7983
7984 In state BUSY this request will be queued. Request won't
7985 be allowed in any other state.
7986
7987 WDI_PostAssocReq must have been called.
7988
7989 @param pwdiWowlEnterReqParams: the Wowl enter info as
7990 specified by the Device Interface
7991
7992 wdiWowlEnterReqCb: callback for passing back the
7993 response of the enter Wowl operation received from the
7994 device
7995
7996 pUserData: user data will be passed back with the
7997 callback
7998
7999 @see WDI_PostAssocReq
8000 @return Result of the function call
8001*/
8002WDI_Status
8003WDI_WowlEnterReq
8004(
8005 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
8006 WDI_WowlEnterReqCb wdiWowlEnterCb,
8007 void* pUserData
8008);
8009
8010/**
8011 @brief WDI_WowlExitReq will be called when the upper MAC
8012 wants to exit the Wowl state. Upon the call of this API
8013 the WLAN DAL will pack and send a HAL Wowl exit request
8014 message to the lower RIVA sub-system if DAL is in state
8015 STARTED.
8016
8017 In state BUSY this request will be queued. Request won't
8018 be allowed in any other state.
8019
8020 WDI_WowlEnterReq must have been called.
8021
8022 @param pwdiWowlExitReqParams: the Wowl exit info as
8023 specified by the Device Interface
8024
8025 wdiWowlExitReqCb: callback for passing back the response
8026 of the exit Wowl operation received from the device
8027
8028 pUserData: user data will be passed back with the
8029 callback
8030
8031 @see WDI_WowlEnterReq
8032 @return Result of the function call
8033*/
8034WDI_Status
8035WDI_WowlExitReq
8036(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008037 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008038 WDI_WowlExitReqCb wdiWowlExitCb,
8039 void* pUserData
8040);
8041
8042/**
8043 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
8044 the upper MAC wants to dynamically adjusts the listen
8045 interval based on the WLAN/MSM activity. Upon the call
8046 of this API the WLAN DAL will pack and send a HAL
8047 configure Apps Cpu Wakeup State request message to the
8048 lower RIVA sub-system.
8049
8050 In state BUSY this request will be queued. Request won't
8051 be allowed in any other state.
8052
8053
8054 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
8055 Apps Cpu Wakeup State as specified by the
8056 Device Interface
8057
8058 wdiConfigureAppsCpuWakeupStateCb: callback for passing
8059 back the response of the configure Apps Cpu Wakeup State
8060 operation received from the device
8061
8062 pUserData: user data will be passed back with the
8063 callback
8064
8065 @return Result of the function call
8066*/
8067WDI_Status
8068WDI_ConfigureAppsCpuWakeupStateReq
8069(
8070 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
8071 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
8072 void* pUserData
8073);
8074/**
8075 @brief WDI_FlushAcReq will be called when the upper MAC wants
8076 to to perform a flush operation on a given AC. Upon the
8077 call of this API the WLAN DAL will pack and send a HAL
8078 Flush AC request message to the lower RIVA sub-system if
8079 DAL is in state STARTED.
8080
8081 In state BUSY this request will be queued. Request won't
8082 be allowed in any other state.
8083
8084
8085 @param pwdiFlushAcReqParams: the Flush AC parameters as
8086 specified by the Device Interface
8087
8088 wdiFlushAcRspCb: callback for passing back the response
8089 of the Flush AC operation received from the device
8090
8091 pUserData: user data will be passed back with the
8092 callback
8093
8094 @return Result of the function call
8095*/
8096WDI_Status
8097WDI_FlushAcReq
8098(
8099 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
8100 WDI_FlushAcRspCb wdiFlushAcRspCb,
8101 void* pUserData
8102);
8103
8104/**
8105 @brief WDI_BtAmpEventReq will be called when the upper MAC
8106 wants to notify the lower mac on a BT AMP event. This is
8107 to inform BTC-SLM that some BT AMP event occurred. Upon
8108 the call of this API the WLAN DAL will pack and send a
8109 HAL BT AMP event request message to the lower RIVA
8110 sub-system if DAL is in state STARTED.
8111
8112 In state BUSY this request will be queued. Request won't
8113 be allowed in any other state.
8114
8115
8116 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
8117 specified by the Device Interface
8118
8119 wdiBtAmpEventRspCb: callback for passing back the
8120 response of the BT AMP event operation received from the
8121 device
8122
8123 pUserData: user data will be passed back with the
8124 callback
8125
8126 @return Result of the function call
8127*/
8128WDI_Status
8129WDI_BtAmpEventReq
8130(
8131 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
8132 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
8133 void* pUserData
8134);
8135
Jeff Johnsone7245742012-09-05 17:12:55 -07008136#ifdef FEATURE_OEM_DATA_SUPPORT
8137/**
8138 @brief WDI_Start oem data Req will be called when the upper MAC
8139 wants to notify the lower mac on a oem data Req event.Upon
8140 the call of this API the WLAN DAL will pack and send a
8141 HAL OEM Data Req event request message to the lower RIVA
8142 sub-system if DAL is in state STARTED.
8143
8144 In state BUSY this request will be queued. Request won't
8145 be allowed in any other state.
8146
8147
8148 @param pWdiOemDataReqParams: the oem data req parameters as
8149 specified by the Device Interface
8150
8151 wdiStartOemDataRspCb: callback for passing back the
8152 response of the Oem Data Req received from the
8153 device
8154
8155 pUserData: user data will be passed back with the
8156 callback
8157
8158 @return Result of the function call
8159*/
8160WDI_Status
8161WDI_StartOemDataReq
8162(
8163 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
8164 WDI_oemDataRspCb wdiOemDataRspCb,
8165 void* pUserData
8166);
8167#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008168
8169/*========================================================================
8170
8171 CONTROL APIs
8172
8173==========================================================================*/
8174/**
8175 @brief WDI_SwitchChReq will be called when the upper MAC wants
8176 the WLAN HW to change the current channel of operation.
8177 Upon the call of this API the WLAN DAL will pack and
8178 send a HAL Start request message to the lower RIVA
8179 sub-system if DAL is in state STARTED.
8180
8181 In state BUSY this request will be queued. Request won't
8182 be allowed in any other state.
8183
8184 WDI_Start must have been called.
8185
8186 @param wdiSwitchChReqParams: the switch ch parameters as
8187 specified by the Device Interface
8188
8189 wdiSwitchChRspCb: callback for passing back the response
8190 of the switch ch operation received from the device
8191
8192 pUserData: user data will be passed back with the
8193 callback
8194
8195 @see WDI_Start
8196 @return Result of the function call
8197*/
8198WDI_Status
8199WDI_SwitchChReq
8200(
8201 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
8202 WDI_SwitchChRspCb wdiSwitchChRspCb,
8203 void* pUserData
8204);
8205
8206
8207
8208/**
8209 @brief WDI_ConfigSTAReq will be called when the upper MAC
8210 wishes to add or update a STA in HW. Upon the call of
8211 this API the WLAN DAL will pack and send a HAL Start
8212 message request message to the lower RIVA sub-system if
8213 DAL is in state STARTED.
8214
8215 In state BUSY this request will be queued. Request won't
8216 be allowed in any other state.
8217
8218 WDI_Start must have been called.
8219
8220 @param wdiConfigSTAReqParams: the config STA parameters as
8221 specified by the Device Interface
8222
8223 wdiConfigSTARspCb: callback for passing back the
8224 response of the config STA operation received from the
8225 device
8226
8227 pUserData: user data will be passed back with the
8228 callback
8229
8230 @see WDI_Start
8231 @return Result of the function call
8232*/
8233WDI_Status
8234WDI_ConfigSTAReq
8235(
8236 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
8237 WDI_ConfigSTARspCb wdiConfigSTARspCb,
8238 void* pUserData
8239);
8240
8241/**
8242 @brief WDI_SetLinkStateReq will be called when the upper MAC
8243 wants to change the state of an ongoing link. Upon the
8244 call of this API the WLAN DAL will pack and send a HAL
8245 Start message request message to the lower RIVA
8246 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_JoinReq must have been called.
8252
8253 @param wdiSetLinkStateReqParams: the set link state parameters
8254 as specified by the Device Interface
8255
8256 wdiSetLinkStateRspCb: callback for passing back the
8257 response of the set link state operation received from
8258 the device
8259
8260 pUserData: user data will be passed back with the
8261 callback
8262
8263 @see WDI_JoinStartReq
8264 @return Result of the function call
8265*/
8266WDI_Status
8267WDI_SetLinkStateReq
8268(
8269 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
8270 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
8271 void* pUserData
8272);
8273
8274
8275/**
8276 @brief WDI_GetStatsReq will be called when the upper MAC wants
8277 to get statistics (MIB counters) from the device. Upon
8278 the call of this API the WLAN DAL will pack and send a
8279 HAL Start request message to the lower RIVA sub-system
8280 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_Start must have been called.
8286
8287 @param wdiGetStatsReqParams: the stats parameters to get as
8288 specified by the Device Interface
8289
8290 wdiGetStatsRspCb: callback for passing back the response
8291 of the get stats operation received from the device
8292
8293 pUserData: user data will be passed back with the
8294 callback
8295
8296 @see WDI_Start
8297 @return Result of the function call
8298*/
8299WDI_Status
8300WDI_GetStatsReq
8301(
8302 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
8303 WDI_GetStatsRspCb wdiGetStatsRspCb,
8304 void* pUserData
8305);
8306
8307
8308/**
8309 @brief WDI_UpdateCfgReq will be called when the upper MAC when
8310 it wishes to change the configuration of the WLAN
8311 Device. Upon the call of this API the WLAN DAL will pack
8312 and send a HAL Update CFG request message to the lower
8313 RIVA sub-system if DAL is in state STARTED.
8314
8315 In state BUSY this request will be queued. Request won't
8316 be allowed in any other state.
8317
8318 WDI_Start must have been called.
8319
8320 @param wdiUpdateCfgReqParams: the update cfg parameters as
8321 specified by the Device Interface
8322
8323 wdiUpdateCfgsRspCb: callback for passing back the
8324 response of the update cfg operation received from the
8325 device
8326
8327 pUserData: user data will be passed back with the
8328 callback
8329
8330 @see WDI_Start
8331 @return Result of the function call
8332*/
8333WDI_Status
8334WDI_UpdateCfgReq
8335(
8336 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
8337 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
8338 void* pUserData
8339);
8340
8341/**
8342 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
8343 to the NV memory.
8344
8345 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
8346 the Device Interface
8347
8348 wdiNvDownloadRspCb: callback for passing back the response of
8349 the NV Download operation received from the device
8350
8351 pUserData: user data will be passed back with the
8352 callback
8353
8354 @see WDI_PostAssocReq
8355 @return Result of the function call
8356*/
8357WDI_Status
8358WDI_NvDownloadReq
8359(
8360 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
8361 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
8362 void* pUserData
8363);
8364/**
8365 @brief WDI_AddBAReq will be called when the upper MAC has setup
8366 successfully a BA session and needs to notify the HW for
8367 the appropriate settings to take place. Upon the call of
8368 this API the WLAN DAL will pack and send a HAL Add BA
8369 request message to the lower RIVA sub-system if DAL is
8370 in state STARTED.
8371
8372 In state BUSY this request will be queued. Request won't
8373 be allowed in any other state.
8374
8375 WDI_PostAssocReq must have been called.
8376
8377 @param wdiAddBAReqParams: the add BA parameters as specified by
8378 the Device Interface
8379
8380 wdiAddBARspCb: callback for passing back the response of
8381 the add BA operation received from the device
8382
8383 pUserData: user data will be passed back with the
8384 callback
8385
8386 @see WDI_PostAssocReq
8387 @return Result of the function call
8388*/
8389WDI_Status
8390WDI_AddBAReq
8391(
8392 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
8393 WDI_AddBARspCb wdiAddBARspCb,
8394 void* pUserData
8395);
8396
8397/**
8398 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
8399 successfully a BA session and needs to notify the HW for
8400 the appropriate settings to take place. Upon the call of
8401 this API the WLAN DAL will pack and send a HAL Add BA
8402 request message to the lower RIVA sub-system if DAL is
8403 in state STARTED.
8404
8405 In state BUSY this request will be queued. Request won't
8406 be allowed in any other state.
8407
8408 WDI_PostAssocReq must have been called.
8409
8410 @param wdiAddBAReqParams: the add BA parameters as specified by
8411 the Device Interface
8412
8413 wdiAddBARspCb: callback for passing back the response of
8414 the add BA operation received from the device
8415
8416 pUserData: user data will be passed back with the
8417 callback
8418
8419 @see WDI_PostAssocReq
8420 @return Result of the function call
8421*/
8422WDI_Status
8423WDI_TriggerBAReq
8424(
8425 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
8426 WDI_TriggerBARspCb wdiTriggerBARspCb,
8427 void* pUserData
8428);
8429
8430
8431/**
8432 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
8433 frame xtl is enabled for a particular STA.
8434
8435 WDI_PostAssocReq must have been called.
8436
8437 @param uSTAIdx: STA index
8438
8439 @see WDI_PostAssocReq
8440 @return Result of the function call
8441*/
8442wpt_boolean WDI_IsHwFrameTxTranslationCapable
8443(
8444 wpt_uint8 uSTAIdx
8445);
8446
8447#ifdef WLAN_FEATURE_VOWIFI_11R
8448/**
8449 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
8450 the device of a successful add TSpec negotiation for 11r. HW
8451 needs to receive the TSpec Info from the UMAC in order
8452 to configure properly the QoS data traffic. Upon the
8453 call of this API the WLAN DAL will pack and send a HAL
8454 Aggregated Add TS request message to the lower RIVA sub-system if
8455 DAL is in state STARTED.
8456
8457 In state BUSY this request will be queued. Request won't
8458 be allowed in any other state.
8459
8460 WDI_PostAssocReq must have been called.
8461
8462 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
8463 the Device Interface
8464
8465 wdiAggrAddTsRspCb: callback for passing back the response of
8466 the add TS operation received from the device
8467
8468 pUserData: user data will be passed back with the
8469 callback
8470
8471 @see WDI_PostAssocReq
8472 @return Result of the function call
8473*/
8474WDI_Status
8475WDI_AggrAddTSReq
8476(
8477 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
8478 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
8479 void* pUserData
8480);
8481#endif /* WLAN_FEATURE_VOWIFI_11R */
8482/**
8483 @brief WDI_STATableInit - Initializes the STA tables.
8484 Allocates the necesary memory.
8485
8486
8487 @param pWDICtx: pointer to the WLAN DAL context
8488
8489 @see
8490 @return Result of the function call
8491*/
8492
8493WDI_Status WDI_StubRunTest
8494(
8495 wpt_uint8 ucTestNo
8496);
8497
8498#ifdef ANI_MANF_DIAG
8499/**
8500 @brief WDI_FTMCommandReq -
8501 Route FTMRequest Command to HAL
8502
8503 @param ftmCommandReq: FTM request command body
8504 @param ftmCommandRspCb: Response CB
8505 @param pUserData: User data will be included with CB
8506
8507 @return Result of the function call
8508*/
8509WDI_Status WDI_FTMCommandReq
8510(
8511 WDI_FTMCommandReqType *ftmCommandReq,
8512 WDI_FTMCommandRspCb ftmCommandRspCb,
8513 void *pUserData
8514);
8515#endif /* ANI_MANF_DIAG */
8516
8517/**
8518 @brief WDI_HostResumeReq will be called
8519
8520 In state BUSY this request will be queued. Request won't
8521 be allowed in any other state.
8522
8523
8524 @param pwdiResumeReqParams: as specified by
8525 the Device Interface
8526
8527 wdiResumeReqRspCb: callback for passing back the response of
8528 the Resume Req received from the device
8529
8530 pUserData: user data will be passed back with the
8531 callback
8532
8533 @see WDI_PostAssocReq
8534 @return Result of the function call
8535*/
8536WDI_Status
8537WDI_HostResumeReq
8538(
8539 WDI_ResumeParamsType* pwdiResumeReqParams,
8540 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
8541 void* pUserData
8542);
8543
8544/**
8545 @brief WDI_GetAvailableResCount - Function to get the available resource
8546 for data and managemnt frames.
8547
8548 @param pContext: pointer to the WDI context
8549 @param wdiResPool: type of resource pool requesting
8550 @see
8551 @return Result of the function call
8552*/
8553
8554wpt_uint32 WDI_GetAvailableResCount
8555(
8556 void *pContext,
8557 WDI_ResPoolType wdiResPool
8558);
8559
8560/**
8561 @brief WDI_SetAddSTASelfReq will be called when the
8562 UMAC wanted to add self STA while opening any new session
8563 In state BUSY this request will be queued. Request won't
8564 be allowed in any other state.
8565
8566
8567 @param pwdiAddSTASelfParams: the add self sta parameters as
8568 specified by the Device Interface
8569
8570 pUserData: user data will be passed back with the
8571 callback
8572
8573 @see
8574 @return Result of the function call
8575*/
8576WDI_Status
8577WDI_AddSTASelfReq
8578(
8579 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
8580 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
8581 void* pUserData
8582);
8583
8584
8585/**
8586 @brief WDI_DelSTASelfReq will be called .
8587
8588 @param WDI_DelSTASelfReqParamsType
8589
8590 WDI_DelSTASelfRspCb: callback for passing back the
8591 response of the del sta self operation received from the
8592 device
8593
8594 pUserData: user data will be passed back with the
8595 callback
8596
8597 @see WDI_PostAssocReq
8598 @return Result of the function call
8599*/
8600WDI_Status
8601WDI_DelSTASelfReq
8602(
8603 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
8604 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
8605 void* pUserData
8606);
8607
8608/**
8609 @brief WDI_HostSuspendInd
8610
8611 Suspend Indication from the upper layer will be sent
8612 down to HAL
8613
8614 @param WDI_SuspendParamsType
8615
8616 @see
8617
8618 @return Status of the request
8619*/
8620WDI_Status
8621WDI_HostSuspendInd
8622(
8623 WDI_SuspendParamsType* pwdiSuspendIndParams
8624);
8625
8626#ifdef FEATURE_WLAN_SCAN_PNO
8627/**
8628 @brief WDI_SetPreferredNetworkList
8629
8630 @param pwdiPNOScanReqParams: the Set PNO as specified
8631 by the Device Interface
8632
8633 wdiPNOScanCb: callback for passing back the response
8634 of the Set PNO operation received from the
8635 device
8636
8637 pUserData: user data will be passed back with the
8638 callback
8639
8640 @see WDI_PostAssocReq
8641 @return Result of the function call
8642*/
8643WDI_Status
8644WDI_SetPreferredNetworkReq
8645(
8646 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
8647 WDI_PNOScanCb wdiPNOScanCb,
8648 void* pUserData
8649);
8650
8651/**
8652 @brief WDI_SetRssiFilterReq
8653
8654 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
8655 specified by the Device Interface
8656
8657 wdiRssiFilterCb: callback for passing back the response
8658 of the Set RSSI Filter operation received from the
8659 device
8660
8661 pUserData: user data will be passed back with the
8662 callback
8663
8664 @see WDI_PostAssocReq
8665 @return Result of the function call
8666*/
8667WDI_Status
8668WDI_SetRssiFilterReq
8669(
8670 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
8671 WDI_RssiFilterCb wdiRssiFilterCb,
8672 void* pUserData
8673);
8674
8675/**
8676 @brief WDI_UpdateScanParams
8677
8678 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
8679 by the Device Interface
8680
8681 wdiUpdateScanParamsCb: callback for passing back the response
8682 of the Set PNO operation received from the
8683 device
8684
8685 pUserData: user data will be passed back with the
8686 callback
8687
8688 @see WDI_PostAssocReq
8689 @return Result of the function call
8690*/
8691WDI_Status
8692WDI_UpdateScanParamsReq
8693(
8694 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
8695 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
8696 void* pUserData
8697);
8698#endif // FEATURE_WLAN_SCAN_PNO
8699
8700/**
8701 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
8702 wants to set the Tx Per Tracking configurations.
8703 Upon the call of this API the WLAN DAL will pack
8704 and send a HAL Set Tx Per Tracking request message to the
8705 lower RIVA sub-system if DAL is in state STARTED.
8706
8707 In state BUSY this request will be queued. Request won't
8708 be allowed in any other state.
8709
8710 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
8711 specified by the Device Interface
8712
8713 wdiSetTxPerTrackingCb: callback for passing back the
8714 response of the set Tx PER Tracking configurations operation received
8715 from the device
8716
8717 pUserData: user data will be passed back with the
8718 callback
8719
8720 @return Result of the function call
8721*/
8722WDI_Status
8723WDI_SetTxPerTrackingReq
8724(
8725 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
8726 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
8727 void* pUserData
8728);
8729
8730/**
8731 @brief WDI_SetTmLevelReq
8732 If HW Thermal condition changed, driver should react based on new
8733 HW thermal condition.
8734
8735 @param pwdiSetTmLevelReq: New thermal condition information
8736
8737 pwdiSetTmLevelRspCb: callback
8738
8739 usrData: user data will be passed back with the
8740 callback
8741
8742 @return Result of the function call
8743*/
8744WDI_Status
8745WDI_SetTmLevelReq
8746(
8747 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
8748 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
8749 void *usrData
8750);
8751
8752#ifdef WLAN_FEATURE_PACKET_FILTERING
8753/**
8754 @brief WDI_8023MulticastListReq
8755
8756 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
8757 List as specified by the Device Interface
8758
8759 wdi8023MulticastListCallback: callback for passing back
8760 the response of the Set 8023 Multicast List operation
8761 received from the device
8762
8763 pUserData: user data will be passed back with the
8764 callback
8765
8766 @see WDI_PostAssocReq
8767 @return Result of the function call
8768*/
8769WDI_Status
8770WDI_8023MulticastListReq
8771(
8772 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
8773 WDI_8023MulticastListCb wdi8023MulticastListCallback,
8774 void* pUserData
8775);
8776
8777/**
8778 @brief WDI_ReceiveFilterSetFilterReq
8779
8780 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
8781 specified by the Device Interface
8782
8783 wdiReceiveFilterSetFilterReqCallback: callback for
8784 passing back the response of the Set Receive Filter
8785 operation received from the device
8786
8787 pUserData: user data will be passed back with the
8788 callback
8789
8790 @see WDI_PostAssocReq
8791 @return Result of the function call
8792*/
8793WDI_Status
8794WDI_ReceiveFilterSetFilterReq
8795(
8796 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
8797 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
8798 void* pUserData
8799);
8800
8801/**
8802 @brief WDI_PCFilterMatchCountReq
8803
8804 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
8805 Count
8806
8807 wdiPCFilterMatchCountCallback: callback for passing back
8808 the response of the D0 PC Filter Match Count operation
8809 received from the device
8810
8811 pUserData: user data will be passed back with the
8812 callback
8813
8814 @see WDI_PostAssocReq
8815 @return Result of the function call
8816*/
8817WDI_Status
8818WDI_FilterMatchCountReq
8819(
8820 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
8821 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
8822 void* pUserData
8823);
8824
8825/**
8826 @brief WDI_ReceiveFilterClearFilterReq
8827
8828 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
8829 specified by the Device Interface
8830
8831 wdiReceiveFilterClearFilterCallback: callback for
8832 passing back the response of the Clear Filter
8833 operation received from the device
8834
8835 pUserData: user data will be passed back with the
8836 callback
8837
8838 @see WDI_PostAssocReq
8839 @return Result of the function call
8840*/
8841WDI_Status
8842WDI_ReceiveFilterClearFilterReq
8843(
8844 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
8845 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
8846 void* pUserData
8847);
8848#endif // WLAN_FEATURE_PACKET_FILTERING
8849
8850/**
8851 @brief WDI_HALDumpCmdReq
8852 Post HAL DUMP Command Event
8853
8854 @param halDumpCmdReqParams: Hal Dump Command Body
8855 @param halDumpCmdRspCb: callback for passing back the
8856 response
8857 @param pUserData: Client Data
8858
8859 @see
8860 @return Result of the function call
8861*/
8862WDI_Status WDI_HALDumpCmdReq(
8863 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
8864 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
8865 void *pUserData
8866);
8867
8868
8869/**
8870 @brief WDI_SetPowerParamsReq
8871
8872 @param pwdiPowerParamsReqParams: the Set Power Params as
8873 specified by the Device Interface
8874
8875 wdiPowerParamsCb: callback for passing back the response
8876 of the Set Power Params operation received from the
8877 device
8878
8879 pUserData: user data will be passed back with the
8880 callback
8881
8882 @return Result of the function call
8883*/
8884WDI_Status
8885WDI_SetPowerParamsReq
8886(
8887 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
8888 WDI_SetPowerParamsCb wdiPowerParamsCb,
8889 void* pUserData
8890);
8891
8892#ifdef WLAN_FEATURE_GTK_OFFLOAD
8893/**
8894 @brief WDI_GTKOffloadReq will be called when the upper MAC
8895 wants to set GTK Rekey Counter while in power save. Upon
8896 the call of this API the WLAN DAL will pack and send a
8897 HAL GTK offload request message to the lower RIVA
8898 sub-system if DAL is in state STARTED.
8899
8900 In state BUSY this request will be queued. Request won't
8901 be allowed in any other state.
8902
8903 WDI_PostAssocReq must have been called.
8904
8905 @param pwdiGtkOffloadParams: the GTK offload as specified
8906 by the Device Interface
8907
8908 wdiGtkOffloadCb: callback for passing back the response
8909 of the GTK offload operation received from the device
8910
8911 pUserData: user data will be passed back with the
8912 callback
8913
8914 @see WDI_PostAssocReq
8915 @return Result of the function call
8916*/
8917WDI_Status
8918WDI_GTKOffloadReq
8919(
8920 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
8921 WDI_GtkOffloadCb wdiGtkOffloadCb,
8922 void* pUserData
8923);
8924
8925/**
8926 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
8927 MAC wants to get GTK Rekey Counter while in power save.
8928 Upon the call of this API the WLAN DAL will pack and
8929 send a HAL GTK offload request message to the lower RIVA
8930 sub-system if DAL is in state STARTED.
8931
8932 In state BUSY this request will be queued. Request won't
8933 be allowed in any other state.
8934
8935 WDI_PostAssocReq must have been called.
8936
8937 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
8938 Information Message as specified by the
8939 Device Interface
8940
8941 wdiGtkOffloadGetInfoCb: callback for passing back the
8942 response of the GTK offload operation received from the
8943 device
8944
8945 pUserData: user data will be passed back with the
8946 callback
8947
8948 @see WDI_PostAssocReq
8949 @return Result of the function call
8950*/
8951WDI_Status
8952WDI_GTKOffloadGetInfoReq
8953(
8954 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
8955 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
8956 void* pUserData
8957);
8958#endif // WLAN_FEATURE_GTK_OFFLOAD
8959
8960/**
8961 @brief WDI_featureCapsExchangeReq
8962 Post feature capability bitmap exchange event.
8963 Host will send its own capability to FW in this req and
8964 expect FW to send its capability back as a bitmap in Response
8965
8966 @param
8967
8968 wdiFeatCapsExcRspCb: callback called on getting the response.
8969 It is kept to mantain similarity between WDI reqs and if needed, can
8970 be used in future. Currently, It is set to NULL
8971
8972 pUserData: user data will be passed back with the
8973 callback
8974
8975 @see
8976 @return Result of the function call
8977*/
8978WDI_Status
8979WDI_featureCapsExchangeReq
8980(
8981 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
8982 void* pUserData
8983);
8984
8985/**
8986 @brief WDI_getHostWlanFeatCaps
8987 WDI API that returns whether the feature passed to it as enum value in
8988 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
8989 variable storing host capability bitmap to find this. This can be used by
8990 other moduels to decide certain things like call different APIs based on
8991 whether a particular feature is supported.
8992
8993 @param
8994
8995 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
8996
8997 @see
8998 @return
8999 0 - if the feature is NOT supported in host
9000 any non-zero value - if the feature is SUPPORTED in host.
9001*/
9002wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
9003
9004/**
9005 @brief WDI_getFwWlanFeatCaps
9006 WDI API that returns whether the feature passed to it as enum value in
9007 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
9008 variable storing host capability bitmap to find this. This can be used by
9009 other moduels to decide certain things like call different APIs based on
9010 whether a particular feature is supported.
9011
9012 @param
9013
Jeff Johnsone7245742012-09-05 17:12:55 -07009014 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
9015 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -07009016
9017 @see
9018 @return
9019 0 - if the feature is NOT supported in FW
9020 any non-zero value - if the feature is SUPPORTED in FW.
9021*/
9022wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
9023
9024/**
9025 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
9026 api version
9027
9028 @param WDI_WlanVersionType: Wlan version structure
9029 @see
9030 @return none
9031*/
9032
9033void WDI_GetWcnssCompiledApiVersion
9034(
9035 WDI_WlanVersionType *pWcnssApiVersion
9036);
9037
Mohit Khanna4a70d262012-09-11 16:30:12 -07009038#ifdef WLAN_FEATURE_11AC
9039WDI_Status
9040WDI_UpdateVHTOpModeReq
9041(
9042 WDI_UpdateVHTOpMode *pData,
9043 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
9044 void* pUserData
9045);
Jeff Johnson295189b2012-06-20 16:38:30 -07009046
Mohit Khanna4a70d262012-09-11 16:30:12 -07009047#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009048
9049/**
9050 @brief WDI_TransportChannelDebug -
9051 Display DXE Channel debugging information
9052 User may request to display DXE channel snapshot
9053 Or if host driver detects any abnormal stcuk may display
9054
9055 @param displaySnapshot : Dispaly DXE snapshot option
9056 @param enableStallDetect : Enable stall detect feature
9057 This feature will take effect to data performance
9058 Not integrate till fully verification
9059 @see
9060 @return none
9061*/
9062void WDI_TransportChannelDebug
9063(
9064 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -07009065 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009066);
9067
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -07009068/**
9069 @brief WDI_SsrTimerCB
9070 Callback function for SSR timer, if this is called then the graceful
9071 shutdown for Riva did not happen.
9072
9073 @param pUserData : user data to timer
9074
9075 @see
9076 @return none
9077*/
9078void
9079WDI_SsrTimerCB
9080(
9081 void *pUserData
9082);
9083
Jeff Johnson295189b2012-06-20 16:38:30 -07009084#ifdef __cplusplus
9085 }
9086#endif
9087
9088
9089#endif /* #ifndef WLAN_QCT_WDI_H */