blob: 1795ca83e3ba792fa69320bffd48ad2be404dbf1 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 W L A N D E V I C E A B S T R A C T I O N L A Y E R
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Siddharth Bhald1be97f2015-05-27 22:39:59 +0530155#define MAX_NUM_OF_BUFFER 3
Karthick Sa6616c32015-07-22 14:49:02 +0530156#define VALID_FW_LOG_TYPES 2
Karthick Sed59a282015-08-10 14:52:16 +0530157#define MAX_LOG_BUFFER_LENGTH 128 * 1024
Yue Mab9c86f42013-08-14 15:59:08 -0700158
Jeff Johnson295189b2012-06-20 16:38:30 -0700159/*============================================================================
160 * GENERIC STRUCTURES
161
162============================================================================*/
163
164/*---------------------------------------------------------------------------
165 WDI Version Information
166---------------------------------------------------------------------------*/
167typedef struct
168{
169 wpt_uint8 revision;
170 wpt_uint8 version;
171 wpt_uint8 minor;
172 wpt_uint8 major;
173} WDI_WlanVersionType;
174
175/*---------------------------------------------------------------------------
176 WDI Device Capability
177---------------------------------------------------------------------------*/
178typedef struct
179{
180 /*If this flag is true it means that the device can support 802.3/ETH2 to
181 802.11 translation*/
182 wpt_boolean bFrameXtlSupported;
183
184 /*Maximum number of BSSes supported by the Device */
185 wpt_uint8 ucMaxBSSSupported;
186
187 /*Maximum number of stations supported by the Device */
188 wpt_uint8 ucMaxSTASupported;
189}WDI_DeviceCapabilityType;
190
191/*---------------------------------------------------------------------------
192 WDI Channel Offset
193---------------------------------------------------------------------------*/
194typedef enum
195{
196 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
197 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700198 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
199#ifdef WLAN_FEATURE_11AC
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
205 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
206 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
207#endif
208 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700209}WDI_HTSecondaryChannelOffset;
210
211/*---------------------------------------------------------------------------
212 WDI_MacFrameCtl
213 Frame control field format (2 bytes)
214---------------------------------------------------------------------------*/
215typedef struct
216{
217 wpt_uint8 protVer :2;
218 wpt_uint8 type :2;
219 wpt_uint8 subType :4;
220
221 wpt_uint8 toDS :1;
222 wpt_uint8 fromDS :1;
223 wpt_uint8 moreFrag :1;
224 wpt_uint8 retry :1;
225 wpt_uint8 powerMgmt :1;
226 wpt_uint8 moreData :1;
227 wpt_uint8 wep :1;
228 wpt_uint8 order :1;
229
230} WDI_MacFrameCtl;
231
232/*---------------------------------------------------------------------------
233 WDI Sequence control field
234---------------------------------------------------------------------------*/
235typedef struct
236{
237 wpt_uint8 fragNum : 4;
238 wpt_uint8 seqNumLo : 4;
239 wpt_uint8 seqNumHi : 8;
240} WDI_MacSeqCtl;
241
242/*---------------------------------------------------------------------------
243 Management header format
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 WDI_MacFrameCtl fc;
248 wpt_uint8 durationLo;
249 wpt_uint8 durationHi;
250 wpt_uint8 da[WDI_MAC_ADDR_LEN];
251 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
252 wpt_macAddr bssId;
253 WDI_MacSeqCtl seqControl;
254} WDI_MacMgmtHdr;
255
256/*---------------------------------------------------------------------------
257 NV Blob management sturcture
258 ---------------------------------------------------------------------------*/
259
260typedef struct
261{
262 /* NV image fragments count */
263 wpt_uint16 usTotalFragment;
264
265 /* NV fragment size */
266 wpt_uint16 usFragmentSize;
267
268 /* current fragment to be sent */
269 wpt_uint16 usCurrentFragment;
270
271} WDI_NvBlobInfoParams;
272
273
274/*---------------------------------------------------------------------------
275 Data path enums memory pool resource
276 ---------------------------------------------------------------------------*/
277
278typedef enum
279{
280 /* managment resource pool ID */
281 WDI_MGMT_POOL_ID = 0,
282 /* Data resource pool ID */
283 WDI_DATA_POOL_ID = 1
284}WDI_ResPoolType;
285
286/*============================================================================
287 * GENERIC STRUCTURES - END
288 ============================================================================*/
289
290/*----------------------------------------------------------------------------
291 * Type Declarations
292 * -------------------------------------------------------------------------*/
293/*---------------------------------------------------------------------------
294 WDI Status
295---------------------------------------------------------------------------*/
296typedef enum
297{
298 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
299 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
300 synchronous way - no rsp will be generated*/
301 WDI_STATUS_PENDING, /* Operation result is pending and will be
302 provided asynchronously through the Req Status
303 Callback */
304 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
305 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
306 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
307 failure*/
308 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
309 of the driver*/
310 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
311
312 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
313 WDI_STATUS_MAX
314
315}WDI_Status;
316
317
318/*---------------------------------------------------------------------------
319 WDI_ReqStatusCb
320
321 DESCRIPTION
322
323 This callback is invoked by DAL to deliver to UMAC the result of posting
324 a previous request for which the return status was PENDING.
325
326 PARAMETERS
327
328 IN
329 wdiStatus: response status received from the Control Transport
330 pUserData: user data
331
332
333
334 RETURN VALUE
335 The result code associated with performing the operation
336---------------------------------------------------------------------------*/
337typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
338 void* pUserData);
339
340/*---------------------------------------------------------------------------
341 WDI_LowLevelIndEnumType
342 Types of indication that can be posted to UMAC by DAL
343---------------------------------------------------------------------------*/
344typedef enum
345{
346 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
347 passed. */
348 WDI_RSSI_NOTIFICATION_IND,
349
350 /*Link loss in the low MAC */
351 WDI_MISSED_BEACON_IND,
352
353 /*when hardware has signaled an unknown addr2 frames. The indication will
354 contain info from frames to be passed to the UMAC, this may use this info to
355 deauth the STA*/
356 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
357
358 /*MIC Failure detected by HW*/
359 WDI_MIC_FAILURE_IND,
360
361 /*Fatal Error Ind*/
362 WDI_FATAL_ERROR_IND,
363
364 /*Delete Station Ind*/
365 WDI_DEL_STA_IND,
366
367 /*Indication from Coex*/
368 WDI_COEX_IND,
369
370 /* Indication for Tx Complete */
371 WDI_TX_COMPLETE_IND,
372
373 /*.P2P_NOA_Attr_Indication */
374 WDI_P2P_NOA_ATTR_IND,
375
376 /* Preferred Network Found Indication */
377 WDI_PREF_NETWORK_FOUND_IND,
378
379 WDI_WAKE_REASON_IND,
380
381 /* Tx PER Tracking Indication */
382 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Viral Modid86bde22012-12-10 13:09:21 -0800384 /* P2P_NOA_Start_Indication */
385 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800386
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530387 /* TDLS_Indication */
388 WDI_TDLS_IND,
389
Leo Changd9df8aa2013-09-26 13:32:26 -0700390 /* LPHB Indication from FW to umac */
391 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700392
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700393 /* IBSS Peer Inactivity Indication */
394 WDI_IBSS_PEER_INACTIVITY_IND,
395
Yue Mab9c86f42013-08-14 15:59:08 -0700396 /* Periodic Tx Pattern FW Indication */
397 WDI_PERIODIC_TX_PTRN_FW_IND,
398
Rajeev79dbe4c2013-10-05 11:03:42 +0530399#ifdef FEATURE_WLAN_BATCH_SCAN
400 /*Batch scan result indication from FW*/
401 WDI_BATCH_SCAN_RESULT_IND,
402#endif
403
Leo Chang0b0e45a2013-12-15 15:18:55 -0800404#ifdef FEATURE_WLAN_CH_AVOID
405 WDI_CH_AVOID_IND,
406#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530407#ifdef WLAN_FEATURE_LINK_LAYER_STATS
408 WDI_LL_STATS_RESULTS_IND,
409#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530410#ifdef WLAN_FEATURE_EXTSCAN
411 WDI_EXTSCAN_PROGRESS_IND,
412 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
413 WDI_EXTSCAN_SCAN_RESULT_IND,
414 WDI_EXTSCAN_GET_CAPABILITIES_IND,
415 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
416 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
417#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530418 /*Delete BA Ind*/
419 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530420 WDI_NAN_EVENT_IND,
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530421 WDI_LOST_LINK_PARAMS_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700422 WDI_MAX_IND
423}WDI_LowLevelIndEnumType;
424
425
426/*---------------------------------------------------------------------------
427 WDI_LowRSSIThIndType
428---------------------------------------------------------------------------*/
429typedef struct
430{
431 /*Positive crossing of Rssi Thresh1*/
432 wpt_uint32 bRssiThres1PosCross : 1;
433 /*Negative crossing of Rssi Thresh1*/
434 wpt_uint32 bRssiThres1NegCross : 1;
435 /*Positive crossing of Rssi Thresh2*/
436 wpt_uint32 bRssiThres2PosCross : 1;
437 /*Negative crossing of Rssi Thresh2*/
438 wpt_uint32 bRssiThres2NegCross : 1;
439 /*Positive crossing of Rssi Thresh3*/
440 wpt_uint32 bRssiThres3PosCross : 1;
441 /*Negative crossing of Rssi Thresh3*/
442 wpt_uint32 bRssiThres3NegCross : 1;
443
Srinivasdaaec712012-12-12 15:59:44 -0800444 wpt_uint32 avgRssi : 8;
445 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700446
447}WDI_LowRSSIThIndType;
448
449
450/*---------------------------------------------------------------------------
451 WDI_UnkAddr2FrmRxIndType
452---------------------------------------------------------------------------*/
453typedef struct
454{
455 /*Rx Bd data of the unknown received addr2 frame.*/
456 void* bufRxBd;
457
458 /*Buffer Length*/
459 wpt_uint16 usBufLen;
460}WDI_UnkAddr2FrmRxIndType;
461
462/*---------------------------------------------------------------------------
463 WDI_DeleteSTAIndType
464---------------------------------------------------------------------------*/
465typedef struct
466{
467 /*ASSOC ID, as assigned by UMAC*/
468 wpt_uint16 usAssocId;
469
470 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
471 wpt_uint8 ucSTAIdx;
472
473 /*BSSID of STA*/
474 wpt_macAddr macBSSID;
475
476 /*MAC ADDR of STA*/
477 wpt_macAddr macADDR2;
478
479 /* To unify the keepalive / unknown A2 / tim-based disa*/
480 wpt_uint16 wptReasonCode;
481
482}WDI_DeleteSTAIndType;
483
484/*---------------------------------------------------------------------------
485 WDI_MicFailureIndType
486---------------------------------------------------------------------------*/
487typedef struct
488{
489 /*current BSSID*/
490 wpt_macAddr bssId;
491
492 /*Source mac address*/
493 wpt_macAddr macSrcAddr;
494
495 /*Transmitter mac address*/
496 wpt_macAddr macTaAddr;
497
498 /*Destination mac address*/
499 wpt_macAddr macDstAddr;
500
501 /*Multicast flag*/
502 wpt_uint8 ucMulticast;
503
504 /*First byte of IV*/
505 wpt_uint8 ucIV1;
506
507 /*Key Id*/
508 wpt_uint8 keyId;
509
510 /*Sequence Number*/
511 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
512
513 /*receive address */
514 wpt_macAddr macRxAddr;
515}WDI_MicFailureIndType;
516
517/*---------------------------------------------------------------------------
518 WDI_CoexIndType
519---------------------------------------------------------------------------*/
520typedef struct
521{
522 wpt_uint32 coexIndType;
523 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
524} WDI_CoexIndType;
525
526/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530527 WDI_DHCPInd
528---------------------------------------------------------------------------*/
529
530typedef struct
531{
532 wpt_uint8 device_mode;
533 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
534}WDI_DHCPInd;
535
536/*---------------------------------------------------------------------------
537
Jeff Johnson295189b2012-06-20 16:38:30 -0700538 WDI_MacSSid
539---------------------------------------------------------------------------*/
540typedef struct
541{
542 wpt_uint8 ucLength;
543 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
544} WDI_MacSSid;
545
546#ifdef FEATURE_WLAN_SCAN_PNO
547/*---------------------------------------------------------------------------
548 WDI_PrefNetworkFoundInd
549---------------------------------------------------------------------------*/
550typedef struct
551{
552 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700553 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700554 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700555 wpt_uint8 rssi;
556 wpt_uint16 frameLength;
557 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700558} WDI_PrefNetworkFoundInd;
559#endif // FEATURE_WLAN_SCAN_PNO
560
Jeff Johnson295189b2012-06-20 16:38:30 -0700561/*---------------------------------------------------------------------------
562 *WDI_P2pNoaAttrIndType
563 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700564typedef struct
565{
566 wpt_uint8 ucIndex ;
567 wpt_uint8 ucOppPsFlag ;
568 wpt_uint16 usCtWin ;
569
570 wpt_uint16 usNoa1IntervalCnt;
571 wpt_uint16 usRsvd1 ;
572 wpt_uint32 uslNoa1Duration;
573 wpt_uint32 uslNoa1Interval;
574 wpt_uint32 uslNoa1StartTime;
575
576 wpt_uint16 usNoa2IntervalCnt;
577 wpt_uint16 usRsvd2;
578 wpt_uint32 uslNoa2Duration;
579 wpt_uint32 uslNoa2Interval;
580 wpt_uint32 uslNoa2StartTime;
581
582 wpt_uint32 status;
583}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800584
585/*---------------------------------------------------------------------------
586 *WDI_P2pNoaStartIndType
587 *-------------------------------------------------------------------------*/
588typedef struct
589{
590 wpt_uint32 status;
591 wpt_uint32 bssIdx;
592}WDI_P2pNoaStartIndType;
593
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530594/*---------------------------------------------------------------------------
595 *WDI_TdlsIndType
596 *-------------------------------------------------------------------------*/
597typedef struct
598{
599 wpt_uint16 status;
600 wpt_uint16 assocId;
601 wpt_uint16 staIdx;
602 wpt_uint16 reasonCode;
603}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700604
605#ifdef WLAN_WAKEUP_EVENTS
606/*---------------------------------------------------------------------------
607 WDI_WakeReasonIndType
608---------------------------------------------------------------------------*/
609typedef struct
610{
611 wpt_uint32 ulReason; /* see tWakeReasonType */
612 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
613 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
614 HAL truncates the data (i.e. data packets) this length
615 will be less than the actual length */
616 wpt_uint32 ulActualDataLen; /* actual length of data */
617 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
618 see specific wake type */
619} WDI_WakeReasonIndType;
620#endif // WLAN_WAKEUP_EVENTS
621
Srinivas Dasari32a79262015-02-19 13:04:49 +0530622typedef struct
623{
624 wpt_uint16 event_data_len;
625 wpt_uint8* event_data;
626} WDI_NanEventType;
627
628
Jeff Johnson295189b2012-06-20 16:38:30 -0700629/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800630 WDI_MissedBeaconIndType
631-----------------------------------------------------------------------------*/
632typedef struct
633{
634 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
635} WDI_MissedBeaconIndType;
636
Leo Chang9056f462013-08-01 19:21:11 -0700637#ifdef FEATURE_WLAN_LPHB
638/*---------------------------------------------------------------------------
639 WDI_LPHBTimeoutIndData
640-----------------------------------------------------------------------------*/
641typedef struct
642{
643 wpt_uint8 bssIdx;
644 wpt_uint8 sessionIdx;
645 wpt_uint8 protocolType; /*TCP or UDP*/
646 wpt_uint8 eventReason;
647} WDI_LPHBTimeoutIndData;
648#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800649
Yue Mab9c86f42013-08-14 15:59:08 -0700650/*-----------------------------------------------------------------------------
651WDI_PeriodicTxPtrnFwIndType
652-----------------------------------------------------------------------------*/
653typedef struct
654{
655 wpt_uint8 bssIdx;
656 wpt_uint32 selfStaIdx;
657 wpt_uint32 status;
658 wpt_uint32 patternIdBitmap;
659} WDI_PeriodicTxPtrnFwIndType;
660
Rajeev79dbe4c2013-10-05 11:03:42 +0530661#ifdef FEATURE_WLAN_BATCH_SCAN
662/*---------------------------------------------------------------------------
663 WDI_SetBatchScanReqType
664---------------------------------------------------------------------------*/
665typedef struct
666{
667 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
668 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
669 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
670 wpt_uint8 rfBand; /* band to scan :
671 0 ->both Band, 1->2.4Ghz Only
672 and 2-> 5GHz Only */
673 wpt_uint32 rtt; /* set if required to do RTT it is not
674 supported in current version */
675}WDI_SetBatchScanReqType;
676
677/*---------------------------------------------------------------------------
678 WDI_SetBatchScanRspType
679---------------------------------------------------------------------------*/
680typedef struct
681{
682 /*max number of scans which FW can cache*/
683 wpt_uint32 nScansToBatch;
684}WDI_SetBatchScanRspType;
685
686/*---------------------------------------------------------------------------
687 WDI_TriggerBatchScanResultIndType
688---------------------------------------------------------------------------*/
689typedef struct
690{
691 wpt_uint32 param;
692}WDI_TriggerBatchScanResultIndType;
693
694/*---------------------------------------------------------------------------
695 WDI_StopBatchScanIndType
696---------------------------------------------------------------------------*/
697typedef struct
698{
699 /*max number of scans which FW can cache*/
700 wpt_uint32 param;
701}WDI_StopBatchScanIndType;
702
703
704/*---------------------------------------------------------------------------
705 * WDI_BatchScanResultIndType
706 *--------------------------------------------------------------------------*/
707typedef struct
708{
709 wpt_uint32 bssid[6]; /* BSSID */
710 wpt_uint32 ssid[32]; /* SSID */
711 wpt_uint32 ch; /* Channel */
712 wpt_uint32 rssi; /* RSSI or Level */
713 /* Timestamp when Network was found. Used to calculate age based on
714 timestamp in GET_RSP msg header */
715 wpt_uint32 timestamp;
716} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
717
718typedef struct
719{
720 wpt_uint32 scanId; /*Scan List ID*/
721 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
722 wpt_uint32 numNetworksInScanList;
723 /*Variable data ptr: Number of AP in Scan List*/
724 wpt_uint32 scanList[1];
725} tWDIBatchScanList, *tpWDIBatchScanList;
726
727typedef struct
728{
729 wpt_uint32 timestamp;
730 wpt_uint32 numScanLists;
731 wpt_boolean isLastResult;
732 /* Variable Data ptr: Number of Scan Lists*/
733 wpt_uint32 scanResults[1];
734} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
735
736#endif
737
738
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530739typedef struct
740{
741 wpt_uint8 bssIdx;
742 wpt_uint8 rssi;
743 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
744 wpt_uint32 linkFlCnt;
745 wpt_uint32 linkFlTx;
746 wpt_uint32 lastDataRate;
747 wpt_uint32 rsvd1;
748 wpt_uint32 rsvd2;
749
750}WDI_LostLinkParamsIndType;
751
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800752/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700753 WDI_IbssPeerInactivityIndType
754-----------------------------------------------------------------------------*/
755typedef struct
756{
757 wpt_uint8 bssIdx;
758 wpt_uint8 staIdx;
759 wpt_macAddr staMacAddr;
760}WDI_IbssPeerInactivityIndType;
761
762/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700763 WDI_TxRateFlags
764-----------------------------------------------------------------------------*/
765typedef enum
766{
767 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
768 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
769 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
770 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
771 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
772 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
773 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
774 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
775 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
776} WDI_TxRateFlags;
777
778/*---------------------------------------------------------------------------
779 WDI_RateUpdateIndParams
780-----------------------------------------------------------------------------*/
781typedef struct
782{
783 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
784 * param ucastDataRate can be used to control RA behavior of unicast data to
785 */
786 wpt_int32 ucastDataRate;
787
788 /* TX flag to differentiate between HT20, HT40 etc */
789 WDI_TxRateFlags ucastDataRateTxFlag;
790
791 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
792 wpt_macAddr bssid;
793
794 /*
795 * 0 implies MCAST RA, positive value implies fixed rate,
796 * -1 implies ignore this param
797 */
798 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
799
800 /* TX flag to differentiate between HT20, HT40 etc */
801 WDI_TxRateFlags reliableMcastDataRateTxFlag;
802
803 /*
804 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
805 * 0 implies ignore
806 */
807 wpt_uint32 mcastDataRate24GHz;
808
809 /* TX flag to differentiate between HT20, HT40 etc */
810 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
811
812 /*
813 * MCAST(or BCAST) fixed data rate in 5 GHz,
814 * unit Mbpsx10, 0 implies ignore
815 */
816 wpt_uint32 mcastDataRate5GHz;
817
818 /* TX flag to differentiate between HT20, HT40 etc */
819 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
820
821 /*
822 * Request status callback offered by UMAC - it is called if the current
823 * req has returned PENDING as status; it delivers the status of sending
824 * the message over the BUS
825 */
826 WDI_ReqStatusCb wdiReqStatusCB;
827
828 /*
829 * The user data passed in by UMAC, it will be sent back when the above
830 * function pointer will be called
831 */
832 void *pUserData;
833
834} WDI_RateUpdateIndParams;
835
Abhishek Singh85b74712014-10-08 11:38:19 +0530836typedef struct
837{
838 wpt_uint32 ubsp_enter_cnt;
839 wpt_uint32 ubsp_jump_ddr_cnt;
840}ubspFwStats;
841
842typedef struct
843{
844 wpt_uint32 type;
845 /*data*/
846 union{
847 ubspFwStats ubspStats;
848 }wdiFwStatsData;
849} WDI_FWStatsResults;
850
Leo Chang0b0e45a2013-12-15 15:18:55 -0800851#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530852#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800853
854typedef struct
855{
856 wpt_uint32 startFreq;
857 wpt_uint32 endFreq;
858} WDI_ChAvoidFreqType;
859
860typedef struct
861{
862 wpt_uint32 avoidRangeCount;
863 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
864} WDI_ChAvoidIndType;
865#endif /* FEATURE_WLAN_CH_AVOID */
866
Dino Mycled3d50022014-07-07 12:58:25 +0530867#ifdef WLAN_FEATURE_LINK_LAYER_STATS
868typedef struct
869{
870 void *pLinkLayerStatsResults;
871 wpt_macAddr macAddr;
872} WDI_LinkLayerStatsResults;
873
874#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530875
876typedef struct
877{
878 /*STA Index*/
879 wpt_uint16 staIdx;
880
881 /*Peer MAC*/
882 wpt_macAddr peerMacAddr;
883
884 // TID for which a BA session timeout is being triggered
885 wpt_uint8 baTID;
886 // DELBA direction
887 // 1 - Originator
888 // 0 - Recipient
889 wpt_uint8 baDirection;
890 wpt_uint32 reasonCode;
891 /*MAC ADDR of STA*/
892 wpt_macAddr bssId; // TO SUPPORT BT-AMP
893} WDI_DeleteBAIndType;
894
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530895typedef struct
896{
897 wpt_uint32 tx_complete_status;
898 wpt_uint32 tx_bd_token;
899} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700900/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700901 WDI_LowLevelIndType
902 Inidcation type and information about the indication being carried
903 over
904---------------------------------------------------------------------------*/
905typedef struct
906{
907 /*Inidcation type*/
908 WDI_LowLevelIndEnumType wdiIndicationType;
909
910 /*Indication data*/
911 union
912 {
913 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
914 WDI_LowRSSIThIndType wdiLowRSSIInfo;
915
916 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
917 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
918
919 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
920 WDI_MicFailureIndType wdiMICFailureInfo;
921
922 /*Error code for WDI_FATAL_ERROR_IND*/
923 wpt_uint16 usErrorCode;
924
925 /*Delete STA Indication*/
926 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
927
928 /*Coex Indication*/
929 WDI_CoexIndType wdiCoexInfo;
930
931 /* Tx Complete Indication */
932 wpt_uint32 tx_complete_status;
933
Jeff Johnson295189b2012-06-20 16:38:30 -0700934 /* P2P NOA ATTR Indication */
935 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800936 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530937 /* TDLS Indications */
938 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700939
940
941#ifdef FEATURE_WLAN_SCAN_PNO
942 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
943#endif // FEATURE_WLAN_SCAN_PNO
944
945#ifdef WLAN_WAKEUP_EVENTS
946 WDI_WakeReasonIndType wdiWakeReasonInd;
947#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800948 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700949
Leo Chang9056f462013-08-01 19:21:11 -0700950#ifdef FEATURE_WLAN_LPHB
951 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
952#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700953
954 /* IBSS Peer Inactivity Indication */
955 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
956
Yue Mab9c86f42013-08-14 15:59:08 -0700957 /* Periodic TX Pattern FW Indication */
958 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530959
960#ifdef FEATURE_WLAN_BATCH_SCAN
961 /*batch scan result indication from FW*/
962 void *pBatchScanResult;
963#endif
964
Leo Chang0b0e45a2013-12-15 15:18:55 -0800965#ifdef FEATURE_WLAN_CH_AVOID
966 WDI_ChAvoidIndType wdiChAvoidInd;
967#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530968
969#ifdef WLAN_FEATURE_LINK_LAYER_STATS
970 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530971 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530972#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530973#ifdef WLAN_FEATURE_EXTSCAN
974 /*EXTSCAN Results from FW*/
975 void *pEXTScanIndData;
976#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530977 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530978
979 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530980
981 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530982 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 } wdiIndicationData;
984}WDI_LowLevelIndType;
985
986/*---------------------------------------------------------------------------
987 WDI_LowLevelIndCBType
988
989 DESCRIPTION
990
991 This callback is invoked by DAL to deliver to UMAC certain indications
992 that has either received from the lower device or has generated itself.
993
994 PARAMETERS
995
996 IN
997 pwdiInd: information about the indication sent over
998 pUserData: user data provided by UMAC during registration
999
1000
1001
1002 RETURN VALUE
1003 The result code associated with performing the operation
1004---------------------------------------------------------------------------*/
1005typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1006 void* pUserData);
1007
1008/*---------------------------------------------------------------------------
1009 WDI_DriverType
1010---------------------------------------------------------------------------*/
1011typedef enum
1012{
1013 WDI_DRIVER_TYPE_PRODUCTION = 0,
1014 WDI_DRIVER_TYPE_MFG = 1,
1015 WDI_DRIVER_TYPE_DVT = 2
1016} WDI_DriverType;
1017
1018/*---------------------------------------------------------------------------
1019 WDI_StartReqParamsType
1020---------------------------------------------------------------------------*/
1021typedef struct
1022{
1023 /*This is a TLV formatted buffer containing all config values that can
1024 be set through the DAL Interface
1025
1026 The TLV is expected to be formatted like this:
1027
1028 0 7 15 31 ....
1029 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1030
1031 Or from a C construct point of VU it would look like this:
1032
1033 typedef struct WPT_PACK_POST
1034 {
1035 #ifdef WPT_BIG_ENDIAN
1036 wpt_uint32 ucCfgId:8;
1037 wpt_uint32 ucCfgLen:8;
1038 wpt_uint32 usReserved:16;
1039 #else
1040 wpt_uint32 usReserved:16;
1041 wpt_uint32 ucCfgLen:8;
1042 wpt_uint32 ucCfgId:8;
1043 #endif
1044
1045 wpt_uint8 ucCfgBody[ucCfgLen];
1046 }WDI_ConfigType;
1047
1048 Multiple such tuplets are to be placed in the config buffer. One for
1049 each required configuration item:
1050
1051 | TLV 1 | TLV2 | ....
1052
1053 The buffer is expected to be a flat area of memory that can be manipulated
1054 with standard memory routines.
1055
1056 For more info please check paragraph 2.3.1 Config Structure from the
1057 HAL LLD.
1058
1059 For a list of accepted configuration list and IDs please look up
1060 wlan_qct_dal_cfg.h
1061
1062 */
1063 void* pConfigBuffer;
1064
1065 /*Length of the config buffer above*/
1066 wpt_uint16 usConfigBufferLen;
1067
1068 /*Production or FTM driver*/
1069 WDI_DriverType wdiDriverType;
1070
1071 /*Should device enable frame translation */
1072 wpt_uint8 bFrameTransEnabled;
1073
1074 /*Request status callback offered by UMAC - it is called if the current
1075 req has returned PENDING as status; it delivers the status of sending
1076 the message over the BUS */
1077 WDI_ReqStatusCb wdiReqStatusCB;
1078
1079 /*The user data passed in by UMAC, it will be sent back when the above
1080 function pointer will be called */
1081 void* pUserData;
1082
1083 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1084 wishes to send something back independent of a request*/
1085 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1086
1087 /*The user data passed in by UMAC, it will be sent back when the indication
1088 function pointer will be called */
1089 void* pIndUserData;
1090}WDI_StartReqParamsType;
1091
1092
1093/*---------------------------------------------------------------------------
1094 WDI_StartRspParamsType
1095---------------------------------------------------------------------------*/
1096typedef struct
1097{
1098 /*Status of the response*/
1099 WDI_Status wdiStatus;
1100
1101 /*Max number of STA supported by the device*/
1102 wpt_uint8 ucMaxStations;
1103
1104 /*Max number of BSS supported by the device*/
1105 wpt_uint8 ucMaxBssids;
1106
1107 /*Version of the WLAN HAL API with which we were compiled*/
1108 WDI_WlanVersionType wlanCompiledVersion;
1109
1110 /*Version of the WLAN HAL API that was reported*/
1111 WDI_WlanVersionType wlanReportedVersion;
1112
1113 /*WCNSS Software version string*/
1114 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1115
1116 /*WCNSS Hardware version string*/
1117 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1118}WDI_StartRspParamsType;
1119
1120
1121/*---------------------------------------------------------------------------
1122 WDI_StopType
1123---------------------------------------------------------------------------*/
1124typedef enum
1125{
1126 /*Device is being stopped due to a reset*/
1127 WDI_STOP_TYPE_SYS_RESET,
1128
1129 /*Device is being stopped due to entering deep sleep*/
1130 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1131
1132 /*Device is being stopped because the RF needs to shut off
1133 (e.g.:Airplane mode)*/
1134 WDI_STOP_TYPE_RF_KILL
1135}WDI_StopType;
1136
1137/*---------------------------------------------------------------------------
1138 WDI_StopReqParamsType
1139---------------------------------------------------------------------------*/
1140typedef struct
1141{
1142
1143 /*The reason for which the device is being stopped*/
1144 WDI_StopType wdiStopReason;
1145
1146 /*Request status callback offered by UMAC - it is called if the current
1147 req has returned PENDING as status; it delivers the status of sending
1148 the message over the BUS */
1149 WDI_ReqStatusCb wdiReqStatusCB;
1150
1151 /*The user data passed in by UMAC, it will be sent back when the above
1152 function pointer will be called */
1153 void* pUserData;
1154}WDI_StopReqParamsType;
1155
1156
1157/*---------------------------------------------------------------------------
1158 WDI_ScanMode
1159---------------------------------------------------------------------------*/
1160typedef enum
1161{
1162 WDI_SCAN_MODE_NORMAL = 0,
1163 WDI_SCAN_MODE_LEARN,
1164 WDI_SCAN_MODE_SCAN,
1165 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001166 WDI_SCAN_MODE_SUSPEND_LINK,
1167 WDI_SCAN_MODE_ROAM_SCAN,
1168 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1169
Jeff Johnson295189b2012-06-20 16:38:30 -07001170} WDI_ScanMode;
1171
1172/*---------------------------------------------------------------------------
1173 WDI_ScanEntry
1174---------------------------------------------------------------------------*/
1175typedef struct
1176{
1177 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1178 wpt_uint8 activeBSScnt;
1179}WDI_ScanEntry;
1180
1181/*---------------------------------------------------------------------------
1182 WDI_InitScanReqInfoType
1183---------------------------------------------------------------------------*/
1184typedef struct
1185{
1186 /*LEARN - AP Role
1187 SCAN - STA Role*/
1188 WDI_ScanMode wdiScanMode;
1189
1190 /*BSSID of the BSS*/
1191 wpt_macAddr macBSSID;
1192
1193 /*Whether BSS needs to be notified*/
1194 wpt_boolean bNotifyBSS;
1195
1196 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1197 CTS to Self). Must always be a valid frame type.*/
1198 wpt_uint8 ucFrameType;
1199
1200 /*UMAC has the option of passing the MAC frame to be used for notifying
1201 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1202 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1203 frameType.*/
1204 wpt_uint8 ucFrameLength;
1205
1206 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1207 WDI_MacMgmtHdr wdiMACMgmtHdr;
1208
1209 /*Entry to hold number of active BSS to send NULL frames before
1210 * initiating SCAN*/
1211 WDI_ScanEntry wdiScanEntry;
1212
1213 /* Flag to enable/disable Single NOA*/
1214 wpt_boolean bUseNOA;
1215
1216 /* Indicates the scan duration (in ms) */
1217 wpt_uint16 scanDuration;
1218
1219}WDI_InitScanReqInfoType;
1220
1221/*---------------------------------------------------------------------------
1222 WDI_InitScanReqParamsType
1223---------------------------------------------------------------------------*/
1224typedef struct
1225{
1226 /*The info associated with the request that needs to be sent over to the
1227 device*/
1228 WDI_InitScanReqInfoType wdiReqInfo;
1229
1230 /*Request status callback offered by UMAC - it is called if the current
1231 req has returned PENDING as status; it delivers the status of sending
1232 the message over the BUS */
1233 WDI_ReqStatusCb wdiReqStatusCB;
1234
1235 /*The user data passed in by UMAC, it will be sent back when the above
1236 function pointer will be called */
1237 void* pUserData;
1238}WDI_InitScanReqParamsType;
1239
1240/*---------------------------------------------------------------------------
1241 WDI_StartScanReqParamsType
1242---------------------------------------------------------------------------*/
1243typedef struct
1244{
1245 /*Indicates the channel to scan*/
1246 wpt_uint8 ucChannel;
1247
1248 /*Request status callback offered by UMAC - it is called if the current
1249 req has returned PENDING as status; it delivers the status of sending
1250 the message over the BUS */
1251 WDI_ReqStatusCb wdiReqStatusCB;
1252
1253 /*The user data passed in by UMAC, it will be sent back when the above
1254 function pointer will be called */
1255 void* pUserData;
1256}WDI_StartScanReqParamsType;
1257
1258/*---------------------------------------------------------------------------
1259 WDI_StartScanRspParamsType
1260---------------------------------------------------------------------------*/
1261typedef struct
1262{
1263 /*Indicates the status of the operation */
1264 WDI_Status wdiStatus;
1265
1266#if defined WLAN_FEATURE_VOWIFI
1267 wpt_uint32 aStartTSF[2];
1268 wpt_int8 ucTxMgmtPower;
1269#endif
1270}WDI_StartScanRspParamsType;
1271
1272/*---------------------------------------------------------------------------
1273 WDI_EndScanReqParamsType
1274---------------------------------------------------------------------------*/
1275typedef struct
1276{
1277 /*Indicates the channel to stop scanning. Not used really. But retained
1278 for symmetry with "start Scan" message. It can also help in error
1279 check if needed.*/
1280 wpt_uint8 ucChannel;
1281
1282 /*Request status callback offered by UMAC - it is called if the current
1283 req has returned PENDING as status; it delivers the status of sending
1284 the message over the BUS */
1285 WDI_ReqStatusCb wdiReqStatusCB;
1286
1287 /*The user data passed in by UMAC, it will be sent back when the above
1288 function pointer will be called */
1289 void* pUserData;
1290}WDI_EndScanReqParamsType;
1291
1292/*---------------------------------------------------------------------------
1293 WDI_PhyChanBondState
1294---------------------------------------------------------------------------*/
1295typedef enum
1296{
1297 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1298 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1299 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001300 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1301#ifdef WLAN_FEATURE_11AC
1302 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1303 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1304 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1305 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1306 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1307 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1308 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1309#endif
1310 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001311} WDI_PhyChanBondState;
1312
1313/*---------------------------------------------------------------------------
1314 WDI_FinishScanReqInfoType
1315---------------------------------------------------------------------------*/
1316typedef struct
1317{
1318 /*LEARN - AP Role
1319 SCAN - STA Role*/
1320 WDI_ScanMode wdiScanMode;
1321
1322 /*Operating channel to tune to.*/
1323 wpt_uint8 ucCurrentOperatingChannel;
1324
1325 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1326 40 MHz extension channel in combination with the control channel*/
1327 WDI_PhyChanBondState wdiCBState;
1328
1329 /*BSSID of the BSS*/
1330 wpt_macAddr macBSSID;
1331
1332 /*Whether BSS needs to be notified*/
1333 wpt_boolean bNotifyBSS;
1334
1335 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1336 CTS to Self). Must always be a valid frame type.*/
1337 wpt_uint8 ucFrameType;
1338
1339 /*UMAC has the option of passing the MAC frame to be used for notifying
1340 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1341 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1342 frameType.*/
1343 wpt_uint8 ucFrameLength;
1344
1345 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1346 WDI_MacMgmtHdr wdiMACMgmtHdr;
1347
1348 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1349 WDI_ScanEntry wdiScanEntry;
1350
1351}WDI_FinishScanReqInfoType;
1352
1353/*---------------------------------------------------------------------------
1354 WDI_SwitchChReqInfoType
1355---------------------------------------------------------------------------*/
1356typedef struct
1357{
1358 /*Indicates the channel to switch to.*/
1359 wpt_uint8 ucChannel;
1360
1361 /*Local power constraint*/
1362 wpt_uint8 ucLocalPowerConstraint;
1363
1364 /*Secondary channel offset */
1365 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1366
1367#ifdef WLAN_FEATURE_VOWIFI
1368 wpt_int8 cMaxTxPower;
1369
1370 /*Self STA Mac address*/
1371 wpt_macAddr macSelfStaMacAddr;
1372#endif
1373 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1374 request has power constraints, this should be applied only to that session */
1375 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1376 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1377 */
1378 wpt_macAddr macBSSId;
1379
1380}WDI_SwitchChReqInfoType;
1381
1382/*---------------------------------------------------------------------------
1383 WDI_SwitchChReqParamsType
1384---------------------------------------------------------------------------*/
1385typedef struct
1386{
1387 /*Channel Info*/
1388 WDI_SwitchChReqInfoType wdiChInfo;
1389
1390 /*Request status callback offered by UMAC - it is called if the current
1391 req has returned PENDING as status; it delivers the status of sending
1392 the message over the BUS */
1393 WDI_ReqStatusCb wdiReqStatusCB;
1394
1395 /*The user data passed in by UMAC, it will be sent back when the above
1396 function pointer will be called */
1397 void* pUserData;
1398}WDI_SwitchChReqParamsType;
1399
1400/*---------------------------------------------------------------------------
1401 WDI_FinishScanReqParamsType
1402---------------------------------------------------------------------------*/
1403typedef struct
1404{
1405 /*Info for the Finish Scan request that will be sent down to the device*/
1406 WDI_FinishScanReqInfoType wdiReqInfo;
1407
1408 /*Request status callback offered by UMAC - it is called if the current
1409 req has returned PENDING as status; it delivers the status of sending
1410 the message over the BUS */
1411 WDI_ReqStatusCb wdiReqStatusCB;
1412
1413 /*The user data passed in by UMAC, it will be sent back when the above
1414 function pointer will be called */
1415 void* pUserData;
1416}WDI_FinishScanReqParamsType;
1417
1418/*---------------------------------------------------------------------------
1419 WDI_JoinReqInfoType
1420---------------------------------------------------------------------------*/
1421typedef struct
1422{
1423 /*Indicates the BSSID to which STA is going to associate*/
1424 wpt_macAddr macBSSID;
1425
1426 /*Indicates the MAC Address of the current Self STA*/
1427 wpt_macAddr macSTASelf;
1428
1429 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1430 wpt_uint32 linkState;
1431
1432 /*Indicates the channel to switch to.*/
1433 WDI_SwitchChReqInfoType wdiChannelInfo;
1434
1435}WDI_JoinReqInfoType;
1436
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001437typedef enum
1438{
1439 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1440 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1441 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1442 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1443 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1444} WDI_ChanSwitchSource;
1445
1446/*---------------------------------------------------------------------------
1447 WDI_SwitchChReqInfoType_V1
1448---------------------------------------------------------------------------*/
1449typedef struct
1450{
1451 /*Indicates the channel to switch to.*/
1452 wpt_uint8 ucChannel;
1453
1454 /*Local power constraint*/
1455 wpt_uint8 ucLocalPowerConstraint;
1456
1457 /*Secondary channel offset */
1458 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1459
1460#ifdef WLAN_FEATURE_VOWIFI
1461 wpt_int8 cMaxTxPower;
1462 /*Self STA Mac address*/
1463 wpt_macAddr macSelfStaMacAddr;
1464#endif
1465 /* VO Wifi comment: BSSID is needed to identify which session
1466 issued this request. As the request has power constraints, this
1467 should be applied only to that session
1468 */
1469 /* V IMP: Keep bssId field at the end of this msg. It is used to
1470 maintain backward compatibility by way of ignoring if using new
1471 host/old FW or old host/new FW since it is at the end of this struct
1472 */
1473 wpt_macAddr macBSSId;
1474 /* Source of Channel Switch */
1475 WDI_ChanSwitchSource channelSwitchSrc;
1476}WDI_SwitchChReqInfoType_V1;
1477
1478/*--------------------------------------------------------------------
1479 WDI_SwitchChReqParamsType_V1
1480----------------------------------------------------------------------*/
1481typedef struct
1482{
1483 /*Channel Info*/
1484 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1485
1486 /*Request status callback offered by UMAC - it is called if the current
1487 req has returned PENDING as status; it delivers the status of sending
1488 the message over the BUS */
1489 WDI_ReqStatusCb wdiReqStatusCB;
1490
1491 /*The user data passed in by UMAC, it will be sent back when the above
1492 function pointer will be called */
1493 void* pUserData;
1494}WDI_SwitchChReqParamsType_V1;
1495
Jeff Johnson295189b2012-06-20 16:38:30 -07001496/*---------------------------------------------------------------------------
1497 WDI_JoinReqParamsType
1498---------------------------------------------------------------------------*/
1499typedef struct
1500{
1501 /*Info for the Join request that will be sent down to the device*/
1502 WDI_JoinReqInfoType wdiReqInfo;
1503
1504 /*Request status callback offered by UMAC - it is called if the current
1505 req has returned PENDING as status; it delivers the status of sending
1506 the message over the BUS */
1507 WDI_ReqStatusCb wdiReqStatusCB;
1508
1509 /*The user data passed in by UMAC, it will be sent back when the above
1510 function pointer will be called */
1511 void* pUserData;
1512}WDI_JoinReqParamsType;
1513
1514/*---------------------------------------------------------------------------
1515 WDI_BssType
1516---------------------------------------------------------------------------*/
1517typedef enum
1518{
1519 WDI_INFRASTRUCTURE_MODE,
1520 WDI_INFRA_AP_MODE, //Added for softAP support
1521 WDI_IBSS_MODE,
1522 WDI_BTAMP_STA_MODE,
1523 WDI_BTAMP_AP_MODE,
1524 WDI_BSS_AUTO_MODE,
1525}WDI_BssType;
1526
1527/*---------------------------------------------------------------------------
1528 WDI_NwType
1529---------------------------------------------------------------------------*/
1530typedef enum
1531{
1532 WDI_11A_NW_TYPE,
1533 WDI_11B_NW_TYPE,
1534 WDI_11G_NW_TYPE,
1535 WDI_11N_NW_TYPE,
1536} WDI_NwType;
1537
1538/*---------------------------------------------------------------------------
1539 WDI_ConfigAction
1540---------------------------------------------------------------------------*/
1541typedef enum
1542{
1543 WDI_ADD_BSS,
1544 WDI_UPDATE_BSS
1545} WDI_ConfigAction;
1546
1547/*---------------------------------------------------------------------------
1548 WDI_HTOperatingMode
1549---------------------------------------------------------------------------*/
1550typedef enum
1551{
1552 WDI_HT_OP_MODE_PURE,
1553 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1554 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1555 WDI_HT_OP_MODE_MIXED
1556
1557} WDI_HTOperatingMode;
1558
1559
1560/*---------------------------------------------------------------------------
1561 WDI_STAEntryType
1562---------------------------------------------------------------------------*/
1563typedef enum
1564{
1565 WDI_STA_ENTRY_SELF,
1566 WDI_STA_ENTRY_PEER,
1567 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001568 WDI_STA_ENTRY_BCAST,
1569#ifdef FEATURE_WLAN_TDLS
1570 WDI_STA_ENTRY_TDLS_PEER,
1571#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001572}WDI_STAEntryType;
1573
1574/*---------------------------------------------------------------------------
1575 WDI_ConfigActionType
1576---------------------------------------------------------------------------*/
1577typedef enum
1578{
1579 WDI_ADD_STA,
1580 WDI_UPDATE_STA
1581} WDI_ConfigActionType;
1582
1583/*----------------------------------------------------------------------------
1584 Each station added has a rate mode which specifies the sta attributes
1585 ----------------------------------------------------------------------------*/
1586typedef enum
1587{
1588 WDI_RESERVED_1 = 0,
1589 WDI_RESERVED_2,
1590 WDI_RESERVED_3,
1591 WDI_11b,
1592 WDI_11bg,
1593 WDI_11a,
1594 WDI_11n,
1595} WDI_RateModeType;
1596
1597/*---------------------------------------------------------------------------
1598 WDI_SupportedRatesType
1599---------------------------------------------------------------------------*/
1600typedef struct
1601{
1602 /*
1603 * For Self STA Entry: this represents Self Mode.
1604 * For Peer Stations, this represents the mode of the peer.
1605 * On Station:
1606 * --this mode is updated when PE adds the Self Entry.
1607 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1608 * ON AP:
1609 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1610 * to indicate the self mode of the AP.
1611 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1612 */
1613
1614 WDI_RateModeType opRateMode;
1615
1616 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1617 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1618 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1619 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1620
1621 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1622 First 26 bits are reserved for those Titan rates and
1623 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1624 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1625
1626 /*
1627 * 0-76 bits used, remaining reserved
1628 * bits 0-15 and 32 should be set.
1629 */
1630 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1631
1632 /*
1633 * RX Highest Supported Data Rate defines the highest data
1634 * rate that the STA is able to receive, in unites of 1Mbps.
1635 * This value is derived from "Supported MCS Set field" inside
1636 * the HT capability element.
1637 */
1638 wpt_uint16 aRxHighestDataRate;
1639
Jeff Johnsone7245742012-09-05 17:12:55 -07001640
1641#ifdef WLAN_FEATURE_11AC
1642 /*Indicates the Maximum MCS that can be received for each number
1643 of spacial streams */
1644 wpt_uint16 vhtRxMCSMap;
1645 /*Indicate the highest VHT data rate that the STA is able to receive*/
1646 wpt_uint16 vhtRxHighestDataRate;
1647 /*Indicates the Maximum MCS that can be transmitted for each number
1648 of spacial streams */
1649 wpt_uint16 vhtTxMCSMap;
1650 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1651 wpt_uint16 vhtTxHighestDataRate;
1652#endif
1653
Jeff Johnson295189b2012-06-20 16:38:30 -07001654} WDI_SupportedRates;
1655
1656/*--------------------------------------------------------------------------
1657 WDI_HTMIMOPowerSaveState
1658 Spatial Multiplexing(SM) Power Save mode
1659 --------------------------------------------------------------------------*/
1660typedef enum
1661{
1662 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1663 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1664 WDI_HT_MIMO_PS_NA = 2, // reserved
1665 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1666} WDI_HTMIMOPowerSaveState;
1667
1668/*---------------------------------------------------------------------------
1669 WDI_ConfigStaReqInfoType
1670---------------------------------------------------------------------------*/
1671typedef struct
1672{
1673 /*BSSID of STA*/
1674 wpt_macAddr macBSSID;
1675
1676 /*ASSOC ID, as assigned by UMAC*/
1677 wpt_uint16 usAssocId;
1678
1679 /*Used for configuration of different HW modules.*/
1680 WDI_STAEntryType wdiSTAType;
1681
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001682 /*STA Index */
1683 wpt_uint8 staIdx;
1684
Jeff Johnson295189b2012-06-20 16:38:30 -07001685 /*Short Preamble Supported.*/
1686 wpt_uint8 ucShortPreambleSupported;
1687
1688 /*MAC Address of STA*/
1689 wpt_macAddr macSTA;
1690
1691 /*Listen interval of the STA*/
1692 wpt_uint16 usListenInterval;
1693
1694 /*Support for 11e/WMM*/
1695 wpt_uint8 ucWMMEnabled;
1696
1697 /*11n HT capable STA*/
1698 wpt_uint8 ucHTCapable;
1699
1700 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1701 wpt_uint8 ucTXChannelWidthSet;
1702
1703 /*RIFS mode 0 - NA, 1 - Allowed*/
1704 wpt_uint8 ucRIFSMode;
1705
1706 /*L-SIG TXOP Protection mechanism
1707 0 - No Support, 1 - Supported
1708 SG - there is global field*/
1709 wpt_uint8 ucLSIGTxopProtection;
1710
1711 /*Max Ampdu Size supported by STA. Device programming.
1712 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1713 wpt_uint8 ucMaxAmpduSize;
1714
1715 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1716 wpt_uint8 ucMaxAmpduDensity;
1717
1718 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1719 wpt_uint8 ucMaxAmsduSize;
1720
1721 /*Short GI support for 40Mhz packets*/
1722 wpt_uint8 ucShortGI40Mhz;
1723
1724 /*Short GI support for 20Mhz packets*/
1725 wpt_uint8 ucShortGI20Mhz;
1726
1727 /*These rates are the intersection of peer and self capabilities.*/
1728 WDI_SupportedRates wdiSupportedRates;
1729
1730 /*Robust Management Frame (RMF) enabled/disabled*/
1731 wpt_uint8 ucRMFEnabled;
1732
1733 /* The unicast encryption type in the association */
1734 wpt_uint32 ucEncryptType;
1735
1736 /*HAL should update the existing STA entry, if this flag is set. UMAC
1737 will set this flag in case of RE-ASSOC, where we want to reuse the old
1738 STA ID.*/
1739 WDI_ConfigActionType wdiAction;
1740
1741 /*U-APSD Flags: 1b per AC. Encoded as follows:
1742 b7 b6 b5 b4 b3 b2 b1 b0 =
1743 X X X X BE BK VI VO
1744 */
1745 wpt_uint8 ucAPSD;
1746
1747 /*Max SP Length*/
1748 wpt_uint8 ucMaxSPLen;
1749
1750 /*11n Green Field preamble support*/
1751 wpt_uint8 ucGreenFieldCapable;
1752
1753 /*MIMO Power Save mode*/
1754 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1755
1756 /*Delayed BA Support*/
1757 wpt_uint8 ucDelayedBASupport;
1758
1759 /*Max AMPDU duration in 32us*/
1760 wpt_uint8 us32MaxAmpduDuratio;
1761
1762 /*HT STA should set it to 1 if it is enabled in BSS
1763 HT STA should set it to 0 if AP does not support it. This indication is
1764 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1765 */
1766 wpt_uint8 ucDsssCckMode40Mhz;
1767
1768 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001769#ifdef WLAN_FEATURE_11AC
1770 wpt_uint8 ucVhtCapableSta;
1771 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001772 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301773 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001774#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001775
1776 wpt_uint8 ucHtLdpcEnabled;
1777 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001778}WDI_ConfigStaReqInfoType;
1779
1780
1781/*---------------------------------------------------------------------------
1782 WDI_RateSet
1783
1784 12 Bytes long because this structure can be used to represent rate
1785 and extended rate set IEs
1786 The parser assume this to be at least 12
1787---------------------------------------------------------------------------*/
1788#define WDI_RATESET_EID_MAX 12
1789
1790typedef struct
1791{
1792 wpt_uint8 ucNumRates;
1793 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1794} WDI_RateSet;
1795
1796/*---------------------------------------------------------------------------
1797 WDI_AciAifsnType
1798 access category record
1799---------------------------------------------------------------------------*/
1800typedef struct
1801{
1802 wpt_uint8 rsvd : 1;
1803 wpt_uint8 aci : 2;
1804 wpt_uint8 acm : 1;
1805 wpt_uint8 aifsn : 4;
1806} WDI_AciAifsnType;
1807
1808/*---------------------------------------------------------------------------
1809 WDI_CWType
1810 contention window size
1811---------------------------------------------------------------------------*/
1812typedef struct
1813{
1814 wpt_uint8 max : 4;
1815 wpt_uint8 min : 4;
1816} WDI_CWType;
1817
1818/*---------------------------------------------------------------------------
1819 WDI_EdcaParamRecord
1820---------------------------------------------------------------------------*/
1821typedef struct
1822{
1823 /*Access Category Record*/
1824 WDI_AciAifsnType wdiACI;
1825
1826 /*Contention WIndow Size*/
1827 WDI_CWType wdiCW;
1828
1829 /*TX Oportunity Limit*/
1830 wpt_uint16 usTXOPLimit;
1831} WDI_EdcaParamRecord;
1832
1833/*---------------------------------------------------------------------------
1834 WDI_EDCAParamsType
1835---------------------------------------------------------------------------*/
1836typedef struct
1837{
1838 /*BSS Index*/
1839 wpt_uint8 ucBSSIdx;
1840
1841 /*?*/
1842 wpt_boolean bHighPerformance;
1843
1844 /*Best Effort*/
1845 WDI_EdcaParamRecord wdiACBE;
1846
1847 /*Background*/
1848 WDI_EdcaParamRecord wdiACBK;
1849
1850 /*Video*/
1851 WDI_EdcaParamRecord wdiACVI;
1852
1853 /*Voice*/
1854 WDI_EdcaParamRecord acvo; // voice
1855} WDI_EDCAParamsType;
1856
1857/* operMode in ADD BSS message */
1858#define WDI_BSS_OPERATIONAL_MODE_AP 0
1859#define WDI_BSS_OPERATIONAL_MODE_STA 1
1860
1861/*---------------------------------------------------------------------------
1862 WDI_ConfigBSSRspParamsType
1863---------------------------------------------------------------------------*/
1864typedef struct
1865{
1866 /*Status of the response*/
1867 WDI_Status wdiStatus;
1868
1869 /*BSSID of the BSS*/
1870 wpt_macAddr macBSSID;
1871
1872 /*BSS Index*/
1873 wpt_uint8 ucBSSIdx;
1874
1875 /*Unicast DPU signature*/
1876 wpt_uint8 ucUcastSig;
1877
1878 /*Broadcast DPU Signature*/
1879 wpt_uint8 ucBcastSig;
1880
1881 /*MAC Address of STA*/
1882 wpt_macAddr macSTA;
1883
1884 /*BSS STA ID*/
1885 wpt_uint8 ucSTAIdx;
1886
1887#ifdef WLAN_FEATURE_VOWIFI
1888 /*HAL fills in the tx power used for mgmt frames in this field */
1889 wpt_int8 ucTxMgmtPower;
1890#endif
1891
1892}WDI_ConfigBSSRspParamsType;
1893
1894/*---------------------------------------------------------------------------
1895 WDI_DelBSSReqParamsType
1896---------------------------------------------------------------------------*/
1897typedef struct
1898{
1899 /*BSS Index of the BSS*/
1900 wpt_uint8 ucBssIdx;
1901
1902 /*Request status callback offered by UMAC - it is called if the current
1903 req has returned PENDING as status; it delivers the status of sending
1904 the message over the BUS */
1905 WDI_ReqStatusCb wdiReqStatusCB;
1906
1907 /*The user data passed in by UMAC, it will be sent back when the above
1908 function pointer will be called */
1909 void* pUserData;
1910}WDI_DelBSSReqParamsType;
1911
1912/*---------------------------------------------------------------------------
1913 WDI_DelBSSRspParamsType
1914---------------------------------------------------------------------------*/
1915typedef struct
1916{
1917 /*Status of the response*/
1918 WDI_Status wdiStatus;
1919
1920 /*BSSID of the BSS*/
1921 wpt_macAddr macBSSID;
1922
1923 wpt_uint8 ucBssIdx;
1924
1925}WDI_DelBSSRspParamsType;
1926
1927/*---------------------------------------------------------------------------
1928 WDI_ConfigSTARspParamsType
1929---------------------------------------------------------------------------*/
1930typedef struct
1931{
1932 /*Status of the response*/
1933 WDI_Status wdiStatus;
1934
1935 /*STA Idx allocated by HAL*/
1936 wpt_uint8 ucSTAIdx;
1937
1938 /*MAC Address of STA*/
1939 wpt_macAddr macSTA;
1940
1941 /* BSSID Index of BSS to which the station is associated */
1942 wpt_uint8 ucBssIdx;
1943
1944 /* DPU Index - PTK */
1945 wpt_uint8 ucDpuIndex;
1946
1947 /* Bcast DPU Index - GTK */
1948 wpt_uint8 ucBcastDpuIndex;
1949
1950 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1951 wpt_uint8 ucBcastMgmtDpuIdx;
1952
1953 /*Unicast DPU signature*/
1954 wpt_uint8 ucUcastSig;
1955
1956 /*Broadcast DPU Signature*/
1957 wpt_uint8 ucBcastSig;
1958
1959 /* IGTK DPU signature*/
1960 wpt_uint8 ucMgmtSig;
1961
1962}WDI_ConfigSTARspParamsType;
1963
1964/*---------------------------------------------------------------------------
1965 WDI_PostAssocRspParamsType
1966---------------------------------------------------------------------------*/
1967typedef struct
1968{
1969 /*Status of the response*/
1970 WDI_Status wdiStatus;
1971
1972 /*Parameters related to the BSS*/
1973 WDI_ConfigBSSRspParamsType bssParams;
1974
1975 /*Parameters related to the self STA*/
1976 WDI_ConfigSTARspParamsType staParams;
1977
1978}WDI_PostAssocRspParamsType;
1979
1980/*---------------------------------------------------------------------------
1981 WDI_DelSTAReqParamsType
1982---------------------------------------------------------------------------*/
1983typedef struct
1984{
1985 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1986 wpt_uint8 ucSTAIdx;
1987
1988 /*Request status callback offered by UMAC - it is called if the current
1989 req has returned PENDING as status; it delivers the status of sending
1990 the message over the BUS */
1991 WDI_ReqStatusCb wdiReqStatusCB;
1992
1993 /*The user data passed in by UMAC, it will be sent back when the above
1994 function pointer will be called */
1995 void* pUserData;
1996}WDI_DelSTAReqParamsType;
1997
1998/*---------------------------------------------------------------------------
1999 WDI_DelSTARspParamsType
2000---------------------------------------------------------------------------*/
2001typedef struct
2002{
2003 /*Status of the response*/
2004 WDI_Status wdiStatus;
2005
2006 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2007 wpt_uint8 ucSTAIdx;
2008}WDI_DelSTARspParamsType;
2009
2010/*---------------------------------------------------------------------------
2011 WDI_EncryptType
2012---------------------------------------------------------------------------*/
2013typedef enum
2014{
2015 WDI_ENCR_NONE,
2016 WDI_ENCR_WEP40,
2017 WDI_ENCR_WEP104,
2018 WDI_ENCR_TKIP,
2019 WDI_ENCR_CCMP,
2020#if defined(FEATURE_WLAN_WAPI)
2021 WDI_ENCR_WPI,
2022#endif
2023 WDI_ENCR_AES_128_CMAC
2024} WDI_EncryptType;
2025
2026/*---------------------------------------------------------------------------
2027 WDI_KeyDirectionType
2028---------------------------------------------------------------------------*/
2029typedef enum
2030{
2031 WDI_TX_ONLY,
2032 WDI_RX_ONLY,
2033 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002034 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002035 WDI_DONOT_USE_KEY_DIRECTION
2036} WDI_KeyDirectionType;
2037
2038#define WDI_MAX_ENCR_KEYS 4
2039#define WDI_MAX_KEY_LENGTH 32
2040#if defined(FEATURE_WLAN_WAPI)
2041#define WDI_MAX_KEY_RSC_LEN 16
2042#define WDI_WAPI_KEY_RSC_LEN 16
2043#else
2044#define WDI_MAX_KEY_RSC_LEN 8
2045#endif
2046
2047typedef struct
2048{
2049 /* Key ID */
2050 wpt_uint8 keyId;
2051 /* 0 for multicast */
2052 wpt_uint8 unicast;
2053 /* Key Direction */
2054 WDI_KeyDirectionType keyDirection;
2055 /* Usage is unknown */
2056 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2057 /* =1 for authenticator, =0 for supplicant */
2058 wpt_uint8 paeRole;
2059 wpt_uint16 keyLength;
2060 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2061
2062}WDI_KeysType;
2063
2064/*---------------------------------------------------------------------------
2065 WDI_SetBSSKeyReqInfoType
2066---------------------------------------------------------------------------*/
2067typedef struct
2068{
2069 /*BSS Index of the BSS*/
2070 wpt_uint8 ucBssIdx;
2071
2072 /*Encryption Type used with peer*/
2073 WDI_EncryptType wdiEncType;
2074
2075 /*Number of keys*/
2076 wpt_uint8 ucNumKeys;
2077
2078 /*Array of keys.*/
2079 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2080
2081 /*Control for Replay Count, 1= Single TID based replay count on Tx
2082 0 = Per TID based replay count on TX */
2083 wpt_uint8 ucSingleTidRc;
2084}WDI_SetBSSKeyReqInfoType;
2085
2086/*---------------------------------------------------------------------------
2087 WDI_SetBSSKeyReqParamsType
2088---------------------------------------------------------------------------*/
2089typedef struct
2090{
2091 /*Key Info */
2092 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2093
2094 /*Request status callback offered by UMAC - it is called if the current
2095 req has returned PENDING as status; it delivers the status of sending
2096 the message over the BUS */
2097 WDI_ReqStatusCb wdiReqStatusCB;
2098
2099 /*The user data passed in by UMAC, it will be sent back when the above
2100 function pointer will be called */
2101 void* pUserData;
2102}WDI_SetBSSKeyReqParamsType;
2103
2104/*---------------------------------------------------------------------------
2105 WDI_WepType
2106---------------------------------------------------------------------------*/
2107typedef enum
2108{
2109 WDI_WEP_STATIC,
2110 WDI_WEP_DYNAMIC
2111
2112} WDI_WepType;
2113
2114/*---------------------------------------------------------------------------
2115 WDI_RemoveBSSKeyReqInfoType
2116---------------------------------------------------------------------------*/
2117typedef struct
2118{
2119 /*BSS Index of the BSS*/
2120 wpt_uint8 ucBssIdx;
2121
2122 /*Encryption Type used with peer*/
2123 WDI_EncryptType wdiEncType;
2124
2125 /*Key Id*/
2126 wpt_uint8 ucKeyId;
2127
2128 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2129 keys*/
2130 WDI_WepType wdiWEPType;
2131}WDI_RemoveBSSKeyReqInfoType;
2132
2133/*---------------------------------------------------------------------------
2134 WDI_RemoveBSSKeyReqParamsType
2135---------------------------------------------------------------------------*/
2136typedef struct
2137{
2138 /*Key Info */
2139 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2140
2141 /*Request status callback offered by UMAC - it is called if the current
2142 req has returned PENDING as status; it delivers the status of sending
2143 the message over the BUS */
2144 WDI_ReqStatusCb wdiReqStatusCB;
2145
2146 /*The user data passed in by UMAC, it will be sent back when the above
2147 function pointer will be called */
2148 void* pUserData;
2149}WDI_RemoveBSSKeyReqParamsType;
2150
2151/*---------------------------------------------------------------------------
2152 WDI_SetSTAKeyReqInfoType
2153---------------------------------------------------------------------------*/
2154typedef struct
2155{
2156 /*STA Index*/
2157 wpt_uint8 ucSTAIdx;
2158
2159 /*Encryption Type used with peer*/
2160 WDI_EncryptType wdiEncType;
2161
2162 /*STATIC/DYNAMIC*/
2163 WDI_WepType wdiWEPType;
2164
2165 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2166 wpt_uint8 ucDefWEPIdx;
2167
2168 /*Number of keys*/
2169 wpt_uint8 ucNumKeys;
2170
2171 /*Array of keys.*/
2172 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2173
2174 /*Control for Replay Count, 1= Single TID based replay count on Tx
2175 0 = Per TID based replay count on TX */
2176 wpt_uint8 ucSingleTidRc;
2177}WDI_SetSTAKeyReqInfoType;
2178
2179/*---------------------------------------------------------------------------
2180 WDI_ConfigBSSReqInfoType
2181---------------------------------------------------------------------------*/
2182typedef struct
2183{
2184 /*Peer BSSID*/
2185 wpt_macAddr macBSSID;
2186
2187 /*Self MAC Address*/
2188 wpt_macAddr macSelfAddr;
2189
2190 /*BSS Type*/
2191 WDI_BssType wdiBSSType;
2192
2193 /*Operational Mode: AP =0, STA = 1*/
2194 wpt_uint8 ucOperMode;
2195
2196 /*Network Type*/
2197 WDI_NwType wdiNWType;
2198
2199 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2200 wpt_uint8 ucShortSlotTimeSupported;
2201
2202 /*Co-exist with 11a STA*/
2203 wpt_uint8 ucllaCoexist;
2204
2205 /*Co-exist with 11b STA*/
2206 wpt_uint8 ucllbCoexist;
2207
2208 /*Co-exist with 11g STA*/
2209 wpt_uint8 ucllgCoexist;
2210
2211 /*Coexistence with 11n STA*/
2212 wpt_uint8 ucHT20Coexist;
2213
2214 /*Non GF coexist flag*/
2215 wpt_uint8 ucllnNonGFCoexist;
2216
2217 /*TXOP protection support*/
2218 wpt_uint8 ucTXOPProtectionFullSupport;
2219
2220 /*RIFS mode*/
2221 wpt_uint8 ucRIFSMode;
2222
2223 /*Beacon Interval in TU*/
2224 wpt_uint16 usBeaconInterval;
2225
2226 /*DTIM period*/
2227 wpt_uint8 ucDTIMPeriod;
2228
2229 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2230 wpt_uint8 ucTXChannelWidthSet;
2231
2232 /*Operating channel*/
2233 wpt_uint8 ucCurrentOperChannel;
2234
2235 /*Extension channel for channel bonding*/
2236 wpt_uint8 ucCurrentExtChannel;
2237
2238 /*Context of the station being added in HW.*/
2239 WDI_ConfigStaReqInfoType wdiSTAContext;
2240
2241 /*SSID of the BSS*/
2242 WDI_MacSSid wdiSSID;
2243
2244 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2245 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2246 WDI_ConfigAction wdiAction;
2247
2248 /*Basic Rate Set*/
2249 WDI_RateSet wdiRateSet;
2250
2251 /*Enable/Disable HT capabilities of the BSS*/
2252 wpt_uint8 ucHTCapable;
2253
2254 /* Enable/Disable OBSS protection */
2255 wpt_uint8 ucObssProtEnabled;
2256
2257 /*RMF enabled/disabled*/
2258 wpt_uint8 ucRMFEnabled;
2259
2260 /*Determines the current HT Operating Mode operating mode of the
2261 802.11n STA*/
2262 WDI_HTOperatingMode wdiHTOperMod;
2263
2264 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2265 wpt_uint8 ucDualCTSProtection;
2266
2267 /* Probe Response Max retries */
2268 wpt_uint8 ucMaxProbeRespRetryLimit;
2269
2270 /* To Enable Hidden ssid */
2271 wpt_uint8 bHiddenSSIDEn;
2272
2273 /* To Enable Disable FW Proxy Probe Resp */
2274 wpt_uint8 bProxyProbeRespEn;
2275
2276 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2277 EDCA params or might not desire to apply EDCA params during config BSS.
2278 0 implies Not Valid ; Non-Zero implies valid*/
2279 wpt_uint8 ucEDCAParamsValid;
2280
2281 /*EDCA Parameters for BK*/
2282 WDI_EdcaParamRecord wdiBKEDCAParams;
2283
2284 /*EDCA Parameters for BE*/
2285 WDI_EdcaParamRecord wdiBEEDCAParams;
2286
2287 /*EDCA Parameters for VI*/
2288 WDI_EdcaParamRecord wdiVIEDCAParams;
2289
2290 /*EDCA Parameters for VO*/
2291 WDI_EdcaParamRecord wdiVOEDCAParams;
2292
2293#ifdef WLAN_FEATURE_VOWIFI
2294 /*max power to be used after applying the power constraint, if any */
2295 wpt_int8 cMaxTxPower;
2296#endif
2297
2298 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2299 wpt_uint8 ucPersona;
2300
2301 /* Spectrum Mangement Indicator */
2302 wpt_uint8 bSpectrumMgtEn;
2303
2304#ifdef WLAN_FEATURE_VOWIFI_11R
2305 wpt_uint8 bExtSetStaKeyParamValid;
2306 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2307#endif
2308
Jeff Johnsone7245742012-09-05 17:12:55 -07002309#ifdef WLAN_FEATURE_11AC
2310 wpt_uint8 ucVhtCapableSta;
2311 wpt_uint8 ucVhtTxChannelWidthSet;
2312#endif
2313
Jeff Johnson295189b2012-06-20 16:38:30 -07002314}WDI_ConfigBSSReqInfoType;
2315
2316/*---------------------------------------------------------------------------
2317 WDI_PostAssocReqParamsType
2318---------------------------------------------------------------------------*/
2319typedef struct
2320{
2321 /*Config STA arguments.*/
2322 WDI_ConfigStaReqInfoType wdiSTAParams;
2323
2324 /*Config BSS Arguments*/
2325 WDI_ConfigBSSReqInfoType wdiBSSParams;
2326
2327 /*Request status callback offered by UMAC - it is called if the current
2328 req has returned PENDING as status; it delivers the status of sending
2329 the message over the BUS */
2330 WDI_ReqStatusCb wdiReqStatusCB;
2331
2332 /*The user data passed in by UMAC, it will be sent back when the above
2333 function pointer will be called */
2334 void* pUserData;
2335}WDI_PostAssocReqParamsType;
2336
2337/*---------------------------------------------------------------------------
2338 WDI_ConfigBSSReqParamsType
2339---------------------------------------------------------------------------*/
2340typedef struct
2341{
2342 /*Info for the Join request that will be sent down to the device*/
2343 WDI_ConfigBSSReqInfoType wdiReqInfo;
2344
2345 /*Request status callback offered by UMAC - it is called if the current
2346 req has returned PENDING as status; it delivers the status of sending
2347 the message over the BUS */
2348 WDI_ReqStatusCb wdiReqStatusCB;
2349
2350 /*The user data passed in by UMAC, it will be sent back when the above
2351 function pointer will be called */
2352 void* pUserData;
2353}WDI_ConfigBSSReqParamsType;
2354
2355/*---------------------------------------------------------------------------
2356 WDI_SetSTAKeyReqParamsType
2357---------------------------------------------------------------------------*/
2358typedef struct
2359{
2360 /*Key Info*/
2361 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2362
2363 /*Request status callback offered by UMAC - it is called if the current
2364 req has returned PENDING as status; it delivers the status of sending
2365 the message over the BUS */
2366 WDI_ReqStatusCb wdiReqStatusCB;
2367
2368 /*The user data passed in by UMAC, it will be sent back when the above
2369 function pointer will be called */
2370 void* pUserData;
2371}WDI_SetSTAKeyReqParamsType;
2372
2373/*---------------------------------------------------------------------------
2374 WDI_RemoveSTAKeyReqInfoType
2375---------------------------------------------------------------------------*/
2376typedef struct
2377{
2378 /*STA Index*/
2379 wpt_uint8 ucSTAIdx;
2380
2381 /*Encryption Type used with peer*/
2382 WDI_EncryptType wdiEncType;
2383
2384 /*Key Id*/
2385 wpt_uint8 ucKeyId;
2386
2387 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2388 the same key is used for both broadcast and unicast.*/
2389 wpt_uint8 ucUnicast;
2390}WDI_RemoveSTAKeyReqInfoType;
2391
2392/*---------------------------------------------------------------------------
2393 WDI_RemoveSTAKeyReqParamsType
2394---------------------------------------------------------------------------*/
2395typedef struct
2396{
2397 /*Key Info */
2398 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2399
2400 /*Request status callback offered by UMAC - it is called if the current
2401 req has returned PENDING as status; it delivers the status of sending
2402 the message over the BUS */
2403 WDI_ReqStatusCb wdiReqStatusCB;
2404
2405 /*The user data passed in by UMAC, it will be sent back when the above
2406 function pointer will be called */
2407 void* pUserData;
2408}WDI_RemoveSTAKeyReqParamsType;
2409
2410/*---------------------------------------------------------------------------
2411 QOS Parameters
2412---------------------------------------------------------------------------*/
2413
2414/*---------------------------------------------------------------------------
2415 WDI_TSInfoTfc
2416---------------------------------------------------------------------------*/
2417typedef struct
2418{
2419 wpt_uint16 ackPolicy:2;
2420 wpt_uint16 userPrio:3;
2421 wpt_uint16 psb:1;
2422 wpt_uint16 aggregation : 1;
2423 wpt_uint16 accessPolicy : 2;
2424 wpt_uint16 direction : 2;
2425 wpt_uint16 tsid : 4;
2426 wpt_uint16 trafficType : 1;
2427} WDI_TSInfoTfc;
2428
2429/*---------------------------------------------------------------------------
2430 WDI_TSInfoSch
2431---------------------------------------------------------------------------*/
2432typedef struct
2433{
2434 wpt_uint8 rsvd : 7;
2435 wpt_uint8 schedule : 1;
2436} WDI_TSInfoSch;
2437
2438/*---------------------------------------------------------------------------
2439 WDI_TSInfoType
2440---------------------------------------------------------------------------*/
2441typedef struct
2442{
2443 WDI_TSInfoTfc wdiTraffic;
2444 WDI_TSInfoSch wdiSchedule;
2445} WDI_TSInfoType;
2446
2447/*---------------------------------------------------------------------------
2448 WDI_TspecIEType
2449---------------------------------------------------------------------------*/
2450typedef struct
2451{
2452 wpt_uint8 ucType;
2453 wpt_uint8 ucLength;
2454 WDI_TSInfoType wdiTSinfo;
2455 wpt_uint16 usNomMsduSz;
2456 wpt_uint16 usMaxMsduSz;
2457 wpt_uint32 uMinSvcInterval;
2458 wpt_uint32 uMaxSvcInterval;
2459 wpt_uint32 uInactInterval;
2460 wpt_uint32 uSuspendInterval;
2461 wpt_uint32 uSvcStartTime;
2462 wpt_uint32 uMinDataRate;
2463 wpt_uint32 uMeanDataRate;
2464 wpt_uint32 uPeakDataRate;
2465 wpt_uint32 uMaxBurstSz;
2466 wpt_uint32 uDelayBound;
2467 wpt_uint32 uMinPhyRate;
2468 wpt_uint16 usSurplusBw;
2469 wpt_uint16 usMediumTime;
2470}WDI_TspecIEType;
2471
2472/*---------------------------------------------------------------------------
2473 WDI_AddTSReqInfoType
2474---------------------------------------------------------------------------*/
2475typedef struct
2476{
2477 /*STA Index*/
2478 wpt_uint8 ucSTAIdx;
2479
2480 /*Identifier for TSpec*/
2481 wpt_uint16 ucTspecIdx;
2482
2483 /*Tspec IE negotiated OTA*/
2484 WDI_TspecIEType wdiTspecIE;
2485
2486 /*UAPSD delivery and trigger enabled flags */
2487 wpt_uint8 ucUapsdFlags;
2488
2489 /*SI for each AC*/
2490 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2491
2492 /*Suspend Interval for each AC*/
2493 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2494
2495 /*DI for each AC*/
2496 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2497
2498}WDI_AddTSReqInfoType;
2499
2500
2501/*---------------------------------------------------------------------------
2502 WDI_AddTSReqParamsType
2503---------------------------------------------------------------------------*/
2504typedef struct
2505{
2506 /*TSpec Info */
2507 WDI_AddTSReqInfoType wdiTsInfo;
2508
2509 /*Request status callback offered by UMAC - it is called if the current
2510 req has returned PENDING as status; it delivers the status of sending
2511 the message over the BUS */
2512 WDI_ReqStatusCb wdiReqStatusCB;
2513
2514 /*The user data passed in by UMAC, it will be sent back when the above
2515 function pointer will be called */
2516 void* pUserData;
2517}WDI_AddTSReqParamsType;
2518
2519/*---------------------------------------------------------------------------
2520 WDI_DelTSReqInfoType
2521---------------------------------------------------------------------------*/
2522typedef struct
2523{
2524 /*STA Index*/
2525 wpt_uint8 ucSTAIdx;
2526
2527 /*Identifier for TSpec*/
2528 wpt_uint16 ucTspecIdx;
2529
2530 /*BSSID of the BSS*/
2531 wpt_macAddr macBSSID;
2532}WDI_DelTSReqInfoType;
2533
2534/*---------------------------------------------------------------------------
2535 WDI_DelTSReqParamsType
2536---------------------------------------------------------------------------*/
2537typedef struct
2538{
2539 /*Del TSpec Info*/
2540 WDI_DelTSReqInfoType wdiDelTSInfo;
2541
2542 /*Request status callback offered by UMAC - it is called if the current
2543 req has returned PENDING as status; it delivers the status of sending
2544 the message over the BUS */
2545 WDI_ReqStatusCb wdiReqStatusCB;
2546
2547 /*The user data passed in by UMAC, it will be sent back when the above
2548 function pointer will be called */
2549 void* pUserData;
2550}WDI_DelTSReqParamsType;
2551
2552/*---------------------------------------------------------------------------
2553 WDI_UpdateEDCAInfoType
2554---------------------------------------------------------------------------*/
2555typedef struct
2556{
krunal soni0b366c02013-07-17 19:55:57 -07002557 /*BSS Index of the BSS*/
2558 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002559
Jeff Johnson295189b2012-06-20 16:38:30 -07002560 /*EDCA params for BE*/
2561 WDI_EdcaParamRecord wdiEdcaBEInfo;
2562
2563 /*EDCA params for BK*/
2564 WDI_EdcaParamRecord wdiEdcaBKInfo;
2565
2566 /*EDCA params for VI*/
2567 WDI_EdcaParamRecord wdiEdcaVIInfo;
2568
2569 /*EDCA params for VO*/
2570 WDI_EdcaParamRecord wdiEdcaVOInfo;
2571
2572}WDI_UpdateEDCAInfoType;
2573
2574/*---------------------------------------------------------------------------
2575 WDI_UpdateEDCAParamsType
2576---------------------------------------------------------------------------*/
2577typedef struct
2578{
2579 /*EDCA Info */
2580 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2581
2582 /*Request status callback offered by UMAC - it is called if the current
2583 req has returned PENDING as status; it delivers the status of sending
2584 the message over the BUS */
2585 WDI_ReqStatusCb wdiReqStatusCB;
2586
2587 /*The user data passed in by UMAC, it will be sent back when the above
2588 function pointer will be called */
2589 void* pUserData;
2590}WDI_UpdateEDCAParamsType;
2591
2592/*---------------------------------------------------------------------------
2593 WDI_AddBASessionReqinfoType
2594---------------------------------------------------------------------------*/
2595typedef struct
2596{
2597 /*Indicates the station for which BA is added..*/
2598 wpt_uint8 ucSTAIdx;
2599
2600 /*The peer mac address*/
2601 wpt_macAddr macPeerAddr;
2602
2603 /*TID for which BA was negotiated*/
2604 wpt_uint8 ucBaTID;
2605
2606 /*Delayed or imediate */
2607 wpt_uint8 ucBaPolicy;
2608
2609 /*The number of buffers for this TID (baTID)*/
2610 wpt_uint16 usBaBufferSize;
2611
2612 /*BA timeout in TU's*/
2613 wpt_uint16 usBaTimeout;
2614
2615 /*b0..b3 - Fragment Number - Always set to 0
2616 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2617 wpt_uint16 usBaSSN;
2618
2619 /*Originator/Recipient*/
2620 wpt_uint8 ucBaDirection;
2621
2622}WDI_AddBASessionReqinfoType;
2623
2624
2625/*---------------------------------------------------------------------------
2626 WDI_AddBASessionReqParamsType
2627---------------------------------------------------------------------------*/
2628typedef struct
2629{
2630 /*BA Session Info Type*/
2631 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2632
2633 /*Request status callback offered by UMAC - it is called if the current
2634 req has returned PENDING as status; it delivers the status of sending
2635 the message over the BUS */
2636 WDI_ReqStatusCb wdiReqStatusCB;
2637
2638 /*The user data passed in by UMAC, it will be sent back when the above
2639 function pointer will be called */
2640 void* pUserData;
2641}WDI_AddBASessionReqParamsType;
2642
2643/*---------------------------------------------------------------------------
2644 WDI_AddBASessionRspParamsType
2645---------------------------------------------------------------------------*/
2646typedef struct
2647{
2648 /*Status of the response*/
2649 WDI_Status wdiStatus;
2650
2651 /* Dialog token */
2652 wpt_uint8 ucBaDialogToken;
2653
2654 /* TID for which the BA session has been setup */
2655 wpt_uint8 ucBaTID;
2656
2657 /* BA Buffer Size allocated for the current BA session */
2658 wpt_uint8 ucBaBufferSize;
2659
2660 /* BA session ID */
2661 wpt_uint16 usBaSessionID;
2662
2663 /* Reordering Window buffer */
2664 wpt_uint8 ucWinSize;
2665
2666 /*Station Index to id the sta */
2667 wpt_uint8 ucSTAIdx;
2668
2669 /* Starting Sequence Number */
2670 wpt_uint16 usBaSSN;
2671
2672}WDI_AddBASessionRspParamsType;
2673
2674/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302675 WDI_SpoofMacAddrRspParamType
2676---------------------------------------------------------------------------*/
2677typedef struct
2678{
2679 /* wdi status */
2680 wpt_uint32 wdiStatus;
2681
2682 /* Reserved Field */
2683 wpt_uint32 reserved;
2684
2685}WDI_SpoofMacAddrRspParamType;
2686/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302687 WDI_GetFrameLogRspParamType
2688---------------------------------------------------------------------------*/
2689typedef struct
2690{
2691 /* wdi status */
2692 wpt_uint32 wdiStatus;
2693}WDI_GetFrameLogRspParamType;
2694/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302695 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302696---------------------------------------------------------------------------*/
2697typedef struct
2698{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302699 //FW mail box address
2700 wpt_uint64 logMailBoxAddr;
2701 wpt_uint32 status;
2702 //Logging mail box version
2703 wpt_uint8 logMailBoxVer;
2704 //Qshrink is enabled
2705 wpt_boolean logCompressEnabled;
2706 //Reserved for future purpose
2707 wpt_uint32 reserved0;
2708 wpt_uint32 reserved1;
2709 wpt_uint32 reserved2;
2710}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302711
2712
2713/*---------------------------------------------------------------------------
2714 WDI_FatalEventLogsRspParamType
2715---------------------------------------------------------------------------*/
2716typedef struct
2717{
2718 /* wdi status */
2719 wpt_uint32 wdiStatus;
2720}WDI_FatalEventLogsRspParamType;
2721
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302722/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002723 WDI_AddBAReqinfoType
2724---------------------------------------------------------------------------*/
2725typedef struct
2726{
2727 /*Indicates the station for which BA is added..*/
2728 wpt_uint8 ucSTAIdx;
2729
2730 /* Session Id */
2731 wpt_uint8 ucBaSessionID;
2732
2733 /* Reorder Window Size */
2734 wpt_uint8 ucWinSize;
2735
2736#ifdef FEATURE_ON_CHIP_REORDERING
2737 wpt_boolean bIsReorderingDoneOnChip;
2738#endif
2739
2740}WDI_AddBAReqinfoType;
2741
2742
2743/*---------------------------------------------------------------------------
2744 WDI_AddBAReqParamsType
2745---------------------------------------------------------------------------*/
2746typedef struct
2747{
2748 /*BA Info Type*/
2749 WDI_AddBAReqinfoType wdiBAInfoType;
2750
2751 /*Request status callback offered by UMAC - it is called if the current
2752 req has returned PENDING as status; it delivers the status of sending
2753 the message over the BUS */
2754 WDI_ReqStatusCb wdiReqStatusCB;
2755
2756 /*The user data passed in by UMAC, it will be sent back when the above
2757 function pointer will be called */
2758 void* pUserData;
2759}WDI_AddBAReqParamsType;
2760
2761
2762/*---------------------------------------------------------------------------
2763 WDI_AddBARspinfoType
2764---------------------------------------------------------------------------*/
2765typedef struct
2766{
2767 /*Status of the response*/
2768 WDI_Status wdiStatus;
2769
2770 /* Dialog token */
2771 wpt_uint8 ucBaDialogToken;
2772
2773}WDI_AddBARspinfoType;
2774
2775/*---------------------------------------------------------------------------
2776 WDI_TriggerBAReqCandidateType
2777---------------------------------------------------------------------------*/
2778typedef struct
2779{
2780 /* STA index */
2781 wpt_uint8 ucSTAIdx;
2782
2783 /* TID bit map for the STA's*/
2784 wpt_uint8 ucTidBitmap;
2785
2786}WDI_TriggerBAReqCandidateType;
2787
2788
2789/*---------------------------------------------------------------------------
2790 WDI_TriggerBAReqinfoType
2791---------------------------------------------------------------------------*/
2792typedef struct
2793{
2794 /*Indicates the station for which BA is added..*/
2795 wpt_uint8 ucSTAIdx;
2796
2797 /* Session Id */
2798 wpt_uint8 ucBASessionID;
2799
2800 /* Trigger BA Request candidate count */
2801 wpt_uint16 usBACandidateCnt;
2802
2803 /* WDI_TriggerBAReqCandidateType followed by this*/
2804
2805}WDI_TriggerBAReqinfoType;
2806
2807
2808/*---------------------------------------------------------------------------
2809 WDI_TriggerBAReqParamsType
2810---------------------------------------------------------------------------*/
2811typedef struct
2812{
2813 /*BA Trigger Info Type*/
2814 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2815
2816 /*Request status callback offered by UMAC - it is called if the current
2817 req has returned PENDING as status; it delivers the status of sending
2818 the message over the BUS */
2819 WDI_ReqStatusCb wdiReqStatusCB;
2820
2821 /*The user data passed in by UMAC, it will be sent back when the above
2822 function pointer will be called */
2823 void* pUserData;
2824}WDI_TriggerBAReqParamsType;
2825
2826/*---------------------------------------------------------------------------
2827 WDI_AddBAInfoType
2828---------------------------------------------------------------------------*/
2829typedef struct
2830{
2831 wpt_uint16 fBaEnable : 1;
2832 wpt_uint16 startingSeqNum: 12;
2833 wpt_uint16 reserved : 3;
2834}WDI_AddBAInfoType;
2835
2836/*---------------------------------------------------------------------------
2837 WDI_TriggerBARspCandidateType
2838---------------------------------------------------------------------------*/
2839#define STA_MAX_TC 8
2840
2841typedef struct
2842{
2843 /* STA index */
2844 wpt_macAddr macSTA;
2845
2846 /* BA Info */
2847 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2848}WDI_TriggerBARspCandidateType;
2849
2850/*---------------------------------------------------------------------------
2851 WDI_TriggerBARspParamsType
2852---------------------------------------------------------------------------*/
2853typedef struct
2854{
2855 /*Status of the response*/
2856 WDI_Status wdiStatus;
2857
2858 /*BSSID of the BSS*/
2859 wpt_macAddr macBSSID;
2860
2861 /* Trigger BA response candidate count */
2862 wpt_uint16 usBaCandidateCnt;
2863
2864 /* WDI_TriggerBARspCandidateType followed by this*/
2865
2866}WDI_TriggerBARspParamsType;
2867
2868/*---------------------------------------------------------------------------
2869 WDI_DelBAReqinfoType
2870---------------------------------------------------------------------------*/
2871typedef struct
2872{
2873 /*Indicates the station for which BA is added..*/
2874 wpt_uint8 ucSTAIdx;
2875
2876 /*TID for which BA was negotiated*/
2877 wpt_uint8 ucBaTID;
2878
2879 /*Originator/Recipient*/
2880 wpt_uint8 ucBaDirection;
2881
2882}WDI_DelBAReqinfoType;
2883
2884/*---------------------------------------------------------------------------
2885 WDI_DelBAReqParamsType
2886---------------------------------------------------------------------------*/
2887typedef struct
2888{
2889 /*BA Info */
2890 WDI_DelBAReqinfoType wdiBAInfo;
2891
2892 /*Request status callback offered by UMAC - it is called if the current
2893 req has returned PENDING as status; it delivers the status of sending
2894 the message over the BUS */
2895 WDI_ReqStatusCb wdiReqStatusCB;
2896
2897 /*The user data passed in by UMAC, it will be sent back when the above
2898 function pointer will be called */
2899 void* pUserData;
2900}WDI_DelBAReqParamsType;
2901
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002902/*---------------------------------------------------------------------------
2903 WDI_UpdateChannelReqinfoType
2904---------------------------------------------------------------------------*/
2905typedef struct
2906{
2907 /** primary 20 MHz channel frequency in mhz */
2908 wpt_uint32 mhz;
2909 /** Center frequency 1 in MHz*/
2910 wpt_uint32 band_center_freq1;
2911 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2912 wpt_uint32 band_center_freq2;
2913 /* The first 26 bits are a bit mask to indicate any channel flags,
2914 (see WLAN_HAL_CHAN_FLAG*)
2915 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2916 wpt_uint32 channel_info;
2917 /** contains min power, max power, reg power and reg class id. */
2918 wpt_uint32 reg_info_1;
2919 /** contains antennamax */
2920 wpt_uint32 reg_info_2;
2921}WDI_UpdateChannelReqinfoType;
2922
2923typedef struct
2924{
2925 wpt_uint8 numchan;
2926 WDI_UpdateChannelReqinfoType *pchanParam;
2927}WDI_UpdateChannelReqType;
2928/*---------------------------------------------------------------------------
2929 WDI_UpdateChReqParamsType
2930---------------------------------------------------------------------------*/
2931typedef struct
2932{
2933 /*BA Info */
2934 WDI_UpdateChannelReqType wdiUpdateChanParams;
2935
2936 /*Request status callback offered by UMAC - it is called if the current
2937 req has returned PENDING as status; it delivers the status of sending
2938 the message over the BUS */
2939 WDI_ReqStatusCb wdiReqStatusCB;
2940
2941 /*The user data passed in by UMAC, it will be sent back when the above
2942 function pointer will be called */
2943 void* pUserData;
2944}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002945
2946/*---------------------------------------------------------------------------
2947 WDI_SwitchCHRspParamsType
2948---------------------------------------------------------------------------*/
2949typedef struct
2950{
2951 /*Status of the response*/
2952 WDI_Status wdiStatus;
2953
2954 /*Indicates the channel that WLAN is on*/
2955 wpt_uint8 ucChannel;
2956
2957#ifdef WLAN_FEATURE_VOWIFI
2958 /*HAL fills in the tx power used for mgmt frames in this field.*/
2959 wpt_int8 ucTxMgmtPower;
2960#endif
2961
2962}WDI_SwitchCHRspParamsType;
2963
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002964/*--------------------------------------------------------------------
2965 WDI_SwitchChRspParamsType_V1
2966--------------------------------------------------------------------*/
2967typedef struct
2968{
2969 /*Status of the response*/
2970 WDI_Status wdiStatus;
2971
2972 /*Indicates the channel that WLAN is on*/
2973 wpt_uint8 ucChannel;
2974
2975#ifdef WLAN_FEATURE_VOWIFI
2976 /*HAL fills in the tx power used for mgmt frames in this field.*/
2977 wpt_int8 ucTxMgmtPower;
2978#endif
2979
2980 /* Source of Channel Switch */
2981 WDI_ChanSwitchSource channelSwitchSrc;
2982}WDI_SwitchChRspParamsType_V1;
2983
Jeff Johnson295189b2012-06-20 16:38:30 -07002984/*---------------------------------------------------------------------------
2985 WDI_ConfigSTAReqParamsType
2986---------------------------------------------------------------------------*/
2987typedef struct
2988{
2989 /*Info for the Join request that will be sent down to the device*/
2990 WDI_ConfigStaReqInfoType wdiReqInfo;
2991
2992 /*Request status callback offered by UMAC - it is called if the current
2993 req has returned PENDING as status; it delivers the status of sending
2994 the message over the BUS */
2995 WDI_ReqStatusCb wdiReqStatusCB;
2996
2997 /*The user data passed in by UMAC, it will be sent back when the above
2998 function pointer will be called */
2999 void* pUserData;
3000}WDI_ConfigSTAReqParamsType;
3001
3002
3003/*---------------------------------------------------------------------------
3004 WDI_UpdateBeaconParamsInfoType
3005---------------------------------------------------------------------------*/
3006
3007typedef struct
3008{
3009 /*BSS Index of the BSS*/
3010 wpt_uint8 ucBssIdx;
3011
3012 /*shortPreamble mode. HAL should update all the STA rates when it
3013 receives this message*/
3014 wpt_uint8 ucfShortPreamble;
3015 /* short Slot time.*/
3016 wpt_uint8 ucfShortSlotTime;
3017 /* Beacon Interval */
3018 wpt_uint16 usBeaconInterval;
3019 /*Protection related */
3020 wpt_uint8 ucllaCoexist;
3021 wpt_uint8 ucllbCoexist;
3022 wpt_uint8 ucllgCoexist;
3023 wpt_uint8 ucHt20MhzCoexist;
3024 wpt_uint8 ucllnNonGFCoexist;
3025 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3026 wpt_uint8 ucfRIFSMode;
3027
3028 wpt_uint16 usChangeBitmap;
3029}WDI_UpdateBeaconParamsInfoType;
3030
Mohit Khanna4a70d262012-09-11 16:30:12 -07003031#ifdef WLAN_FEATURE_11AC
3032typedef struct
3033{
3034 wpt_uint16 opMode;
3035 wpt_uint16 staId;
3036}WDI_UpdateVHTOpMode;
3037#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003038
3039/*---------------------------------------------------------------------------
3040 WDI_UpdateBeaconParamsType
3041---------------------------------------------------------------------------*/
3042typedef struct
3043{
3044 /*Update Beacon Params Info*/
3045 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3046
3047 /*Request status callback offered by UMAC - it is called if the current
3048 req has returned PENDING as status; it delivers the status of sending
3049 the message over the BUS */
3050 WDI_ReqStatusCb wdiReqStatusCB;
3051
3052 /*The user data passed in by UMAC, it will be sent back when the above
3053 function pointer will be called */
3054 void* pUserData;
3055}WDI_UpdateBeaconParamsType;
3056
3057/*---------------------------------------------------------------------------
3058 WDI_SendBeaconParamsInfoType
3059---------------------------------------------------------------------------*/
3060
3061typedef struct {
3062
3063 /*BSSID of the BSS*/
3064 wpt_macAddr macBSSID;
3065
3066 /* Beacon data */
3067 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3068
3069 /* length of the template */
3070 wpt_uint32 beaconLength;
3071
Jeff Johnson295189b2012-06-20 16:38:30 -07003072 /* TIM IE offset from the beginning of the template.*/
3073 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003074
Jeff Johnson295189b2012-06-20 16:38:30 -07003075 /* P2P IE offset from the beginning of the template */
3076 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003077} WDI_SendBeaconParamsInfoType;
3078
3079/*---------------------------------------------------------------------------
3080 WDI_SendBeaconParamsType
3081---------------------------------------------------------------------------*/
3082typedef struct
3083{
3084 /*Send Beacon Params Info*/
3085 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3086
3087 /*Request status callback offered by UMAC - it is called if the current
3088 req has returned PENDING as status; it delivers the status of sending
3089 the message over the BUS */
3090 WDI_ReqStatusCb wdiReqStatusCB;
3091
3092 /*The user data passed in by UMAC, it will be sent back when the above
3093 function pointer will be called */
3094 void* pUserData;
3095}WDI_SendBeaconParamsType;
3096
3097/*---------------------------------------------------------------------------
3098 WDI_LinkStateType
3099---------------------------------------------------------------------------*/
3100typedef enum
3101{
3102 WDI_LINK_IDLE_STATE = 0,
3103 WDI_LINK_PREASSOC_STATE = 1,
3104 WDI_LINK_POSTASSOC_STATE = 2,
3105 WDI_LINK_AP_STATE = 3,
3106 WDI_LINK_IBSS_STATE = 4,
3107
3108 // BT-AMP Case
3109 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3110 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3111 WDI_LINK_BTAMP_AP_STATE = 7,
3112 WDI_LINK_BTAMP_STA_STATE = 8,
3113
3114 // Reserved for HAL internal use
3115 WDI_LINK_LEARN_STATE = 9,
3116 WDI_LINK_SCAN_STATE = 10,
3117 WDI_LINK_FINISH_SCAN_STATE = 11,
3118 WDI_LINK_INIT_CAL_STATE = 12,
3119 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003120 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303121 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003122 WDI_LINK_MAX = 0x7FFFFFFF
3123} WDI_LinkStateType;
3124
3125/*---------------------------------------------------------------------------
3126 WDI_SetLinkReqInfoType
3127---------------------------------------------------------------------------*/
3128typedef struct
3129{
3130 /*BSSID of the BSS*/
3131 wpt_macAddr macBSSID;
3132
3133 /*Link state*/
3134 WDI_LinkStateType wdiLinkState;
3135
3136 /*BSSID of the BSS*/
3137 wpt_macAddr macSelfStaMacAddr;
3138}WDI_SetLinkReqInfoType;
3139
3140/*---------------------------------------------------------------------------
3141 WDI_SetLinkReqParamsType
3142---------------------------------------------------------------------------*/
3143typedef struct
3144{
3145 /*Link Info*/
3146 WDI_SetLinkReqInfoType wdiLinkInfo;
3147
3148 /*Request status callback offered by UMAC - it is called if the current
3149 req has returned PENDING as status; it delivers the status of sending
3150 the message over the BUS */
3151 WDI_ReqStatusCb wdiReqStatusCB;
3152
3153 /*The user data passed in by UMAC, it will be sent back when the above
3154 function pointer will be called */
3155 void* pUserData;
3156}WDI_SetLinkReqParamsType;
3157
3158/*---------------------------------------------------------------------------
3159 WDI_GetStatsParamsInfoType
3160---------------------------------------------------------------------------*/
3161typedef struct
3162{
3163 /*Indicates the station for which Get Stats are requested..*/
3164 wpt_uint8 ucSTAIdx;
3165
3166 /* categories of stats requested */
3167 wpt_uint32 uStatsMask;
3168}WDI_GetStatsParamsInfoType;
3169
3170/*---------------------------------------------------------------------------
3171 WDI_GetStatsReqParamsType
3172---------------------------------------------------------------------------*/
3173typedef struct
3174{
3175 /*Get Stats Params Info*/
3176 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3177
3178 /*Request status callback offered by UMAC - it is called if the current
3179 req has returned PENDING as status; it delivers the status of sending
3180 the message over the BUS */
3181 WDI_ReqStatusCb wdiReqStatusCB;
3182
3183 /*The user data passed in by UMAC, it will be sent back when the above
3184 function pointer will be called */
3185 void* pUserData;
3186}WDI_GetStatsReqParamsType;
3187
3188/*---------------------------------------------------------------------------
3189 WDI_GetStatsRspParamsType
3190---------------------------------------------------------------------------*/
3191typedef struct
3192{
3193 /*message type is same as the request type*/
3194 wpt_uint16 usMsgType;
3195
3196 /* length of the entire request, includes the pStatsBuf length too*/
3197 wpt_uint16 usMsgLen;
3198
3199 /*Result of the operation*/
3200 WDI_Status wdiStatus;
3201
3202 /*Indicates the station for which Get Stats are requested..*/
3203 wpt_uint8 ucSTAIdx;
3204
3205 /* categories of stats requested */
3206 wpt_uint32 uStatsMask;
3207
3208 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3209 * structure depending on statsMask.*/
3210}WDI_GetStatsRspParamsType;
3211
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003212#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003213/*---------------------------------------------------------------------------
3214 WDI_GetRoamRssiParamsInfoType
3215---------------------------------------------------------------------------*/
3216typedef struct
3217{
3218 /*Indicates the station for which Get Stats are requested..*/
3219 wpt_uint8 ucSTAIdx;
3220
3221 /* categories of stats requested */
3222 wpt_uint32 uStatsMask;
3223}WDI_GetRoamRssiParamsInfoType;
3224
3225/*---------------------------------------------------------------------------
3226 WDI_GetRoamRssiReqParamsType
3227---------------------------------------------------------------------------*/
3228typedef struct
3229{
3230 /*Get Roam Rssi Params Info*/
3231 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3232
3233 /*Request status callback offered by UMAC - it is called if the current
3234 req has returned PENDING as status; it delivers the status of sending
3235 the message over the BUS */
3236 WDI_ReqStatusCb wdiReqStatusCB;
3237
3238 /*The user data passed in by UMAC, it will be sent back when the above
3239 function pointer will be called */
3240 void* pUserData;
3241}WDI_GetRoamRssiReqParamsType;
3242
3243/*---------------------------------------------------------------------------
3244 WDI_GetRoamRssiRspParamsType
3245---------------------------------------------------------------------------*/
3246typedef struct
3247{
3248 /*Result of the operation*/
3249 WDI_Status wdiStatus;
3250
3251 /*Indicates the station for which Get Stats are requested..*/
3252 wpt_uint8 ucSTAIdx;
3253
3254 /* roam rssi requested */
3255 wpt_int8 rssi;
3256
3257 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3258 * structure depending on statsMask.*/
3259}WDI_GetRoamRssiRspParamsType;
3260#endif
3261
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003262#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003263/*---------------------------------------------------------------------------
3264 WDI_TSMStatsParamsInfoType
3265---------------------------------------------------------------------------*/
3266typedef struct
3267{
3268 /*Indicates the station for which Get Stats are requested..*/
3269 wpt_uint8 ucTid;
3270
3271 wpt_macAddr bssid;
3272}WDI_TSMStatsParamsInfoType;
3273
3274/*---------------------------------------------------------------------------
3275 WDI_TSMStatsReqParamsType
3276---------------------------------------------------------------------------*/
3277typedef struct
3278{
3279 /*Get TSM Stats Params Info*/
3280 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3281
3282 WDI_ReqStatusCb wdiReqStatusCB;
3283
3284 /*The user data passed in by UMAC, it will be sent back when the above
3285 function pointer will be called */
3286 void* pUserData;
3287
3288}WDI_TSMStatsReqParamsType;
3289
3290
3291/*---------------------------------------------------------------------------
3292 WDI_TSMStatsRspParamsType
3293---------------------------------------------------------------------------*/
3294typedef struct
3295{
3296 /*Indicates the status of the operation */
3297 WDI_Status wdiStatus;
3298
3299 wpt_uint16 UplinkPktQueueDly;
3300 wpt_uint16 UplinkPktQueueDlyHist[4];
3301 wpt_uint32 UplinkPktTxDly;
3302 wpt_uint16 UplinkPktLoss;
3303 wpt_uint16 UplinkPktCount;
3304 wpt_uint8 RoamingCount;
3305 wpt_uint16 RoamingDly;
3306}WDI_TSMStatsRspParamsType;
3307
3308
3309#endif
3310/*---------------------------------------------------------------------------
3311 WDI_UpdateCfgReqParamsType
3312---------------------------------------------------------------------------*/
3313typedef struct
3314{
3315 /*This is a TLV formatted buffer containing all config values that can
3316 be set through the DAL Interface
3317
3318 The TLV is expected to be formatted like this:
3319
3320 0 7 15 31 ....
3321 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3322
3323 Or from a C construct point of VU it would look like this:
3324
3325 typedef struct WPT_PACK_POST
3326 {
3327 #ifdef WPT_BIG_ENDIAN
3328 wpt_uint32 ucCfgId:8;
3329 wpt_uint32 ucCfgLen:8;
3330 wpt_uint32 usReserved:16;
3331 #else
3332 wpt_uint32 usReserved:16;
3333 wpt_uint32 ucCfgLen:8;
3334 wpt_uint32 ucCfgId:8;
3335 #endif
3336
3337 wpt_uint8 ucCfgBody[ucCfgLen];
3338 }WDI_ConfigType;
3339
3340 Multiple such tuplets are to be placed in the config buffer. One for
3341 each required configuration item:
3342
3343 | TLV 1 | TLV2 | ....
3344
3345 The buffer is expected to be a flat area of memory that can be manipulated
3346 with standard memory routines.
3347
3348 For more info please check paragraph 2.3.1 Config Structure from the
3349 HAL LLD.
3350
3351 For a list of accepted configuration list and IDs please look up
3352 wlan_qct_dal_cfg.h
3353 */
3354 void* pConfigBuffer;
3355
3356 /*Length of the config buffer above*/
3357 wpt_uint32 uConfigBufferLen;
3358
3359 /*Request status callback offered by UMAC - it is called if the current
3360 req has returned PENDING as status; it delivers the status of sending
3361 the message over the BUS */
3362 WDI_ReqStatusCb wdiReqStatusCB;
3363
3364 /*The user data passed in by UMAC, it will be sent back when the above
3365 function pointer will be called */
3366 void* pUserData;
3367}WDI_UpdateCfgReqParamsType;
3368
3369/*---------------------------------------------------------------------------
3370 WDI_UpdateProbeRspTemplateInfoType
3371---------------------------------------------------------------------------*/
3372//Default Beacon template size
3373#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3374
3375#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3376
3377typedef struct
3378{
3379 /*BSSID for which the Probe Template is to be used*/
3380 wpt_macAddr macBSSID;
3381
3382 /*Probe response template*/
3383 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3384
3385 /*Template Len*/
3386 wpt_uint32 uProbeRespTemplateLen;
3387
3388 /*Bitmap for the IEs that are to be handled at SLM level*/
3389 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3390
3391}WDI_UpdateProbeRspTemplateInfoType;
3392
3393/*---------------------------------------------------------------------------
3394 WDI_UpdateProbeRspParamsType
3395---------------------------------------------------------------------------*/
3396typedef struct
3397{
3398 /*Link Info*/
3399 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3400
3401 /*Request status callback offered by UMAC - it is called if the current
3402 req has returned PENDING as status; it delivers the status of sending
3403 the message over the BUS */
3404 WDI_ReqStatusCb wdiReqStatusCB;
3405
3406 /*The user data passed in by UMAC, it will be sent back when the above
3407 function pointer will be called */
3408 void* pUserData;
3409}WDI_UpdateProbeRspTemplateParamsType;
3410
3411/*---------------------------------------------------------------------------
3412 WDI_NvDownloadReqBlobInfo
3413---------------------------------------------------------------------------*/
3414
3415typedef struct
3416{
3417 /* Blob starting address*/
3418 void *pBlobAddress;
3419
3420 /* Blob size */
3421 wpt_uint32 uBlobSize;
3422
3423}WDI_NvDownloadReqBlobInfo;
3424
3425/*---------------------------------------------------------------------------
3426 WDI_NvDownloadReqParamsType
3427---------------------------------------------------------------------------*/
3428typedef struct
3429{
3430 /*NV Blob Info*/
3431 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3432
3433 /*Request status callback offered by UMAC - it is called if the current
3434 req has returned PENDING as status; it delivers the status of sending
3435 the message over the BUS */
3436 WDI_ReqStatusCb wdiReqStatusCB;
3437
3438 /*The user data passed in by UMAC, it will be sent back when the above
3439 function pointer will be called */
3440 void* pUserData;
3441
3442}WDI_NvDownloadReqParamsType;
3443
3444/*---------------------------------------------------------------------------
3445 WDI_NvDownloadRspInfoType
3446---------------------------------------------------------------------------*/
3447typedef struct
3448{
3449 /*Status of the response*/
3450 WDI_Status wdiStatus;
3451
3452}WDI_NvDownloadRspInfoType;
3453
3454/*---------------------------------------------------------------------------
3455 WDI_SetMaxTxPowerInfoType
3456---------------------------------------------------------------------------*/
3457
3458typedef struct
3459{
3460 /*BSSID is needed to identify which session issued this request. As the request has
3461 power constraints, this should be applied only to that session*/
3462 wpt_macAddr macBSSId;
3463
3464
3465 wpt_macAddr macSelfStaMacAddr;
3466
3467 /* In request power == MaxTxpower to be used.*/
3468 wpt_int8 ucPower;
3469
3470}WDI_SetMaxTxPowerInfoType;
3471
3472/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003473 WDI_SetTxPowerInfoType
3474---------------------------------------------------------------------------*/
3475
3476typedef struct
3477{
3478 wpt_uint8 bssIdx;
3479 /* In request power == MaxTxpower to be used.*/
3480 wpt_uint8 ucPower;
3481
3482}WDI_SetTxPowerInfoType;
3483
3484/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003485 WDI_SetMaxTxPowerParamsType
3486---------------------------------------------------------------------------*/
3487typedef struct
3488{
3489 /*Link Info*/
3490 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3491
3492 /*Request status callback offered by UMAC - it is called if the current
3493 req has returned PENDING as status; it delivers the status of sending
3494 the message over the BUS */
3495 WDI_ReqStatusCb wdiReqStatusCB;
3496
3497 /*The user data passed in by UMAC, it will be sent back when the above
3498 function pointer will be called */
3499 void* pUserData;
3500}WDI_SetMaxTxPowerParamsType;
3501
schang86c22c42013-03-13 18:41:24 -07003502/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003503 WDI_Band
3504---------------------------------------------------------------------------*/
3505typedef enum
3506{
3507 WDI_BAND_ALL,
3508 WDI_BAND_24,
3509 WDI_BAND_5G,
3510 WDI_BAND_MAX,
3511}eWDIBand;
3512
3513/*---------------------------------------------------------------------------
3514 WDI_MaxTxPowerPerBandInfoType
3515---------------------------------------------------------------------------*/
3516typedef struct
3517{
3518 eWDIBand bandInfo;
3519 /* In request power == MaxTxpower to be used.*/
3520 wpt_uint8 ucPower;
3521}WDI_MaxTxPowerPerBandInfoType;
3522
3523/*---------------------------------------------------------------------------
3524 WDI_SetMaxTxPowerPerBandParamsType
3525---------------------------------------------------------------------------*/
3526typedef struct
3527{
3528 /*Link Info*/
3529 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3530
3531 /*Request status callback offered by UMAC - it is called if the current
3532 req has returned PENDING as status; it delivers the status of sending
3533 the message over the BUS */
3534 WDI_ReqStatusCb wdiReqStatusCB;
3535
3536 /*The user data passed in by UMAC, it will be sent back when the above
3537 function pointer will be called */
3538 void* pUserData;
3539}WDI_SetMaxTxPowerPerBandParamsType;
3540
3541/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003542 WDI_SetTxPowerParamsType
3543---------------------------------------------------------------------------*/
3544typedef struct
3545{
3546 /*Link Info*/
3547 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3548
3549 /*Request status callback offered by UMAC - it is called if the current
3550 req has returned PENDING as status; it delivers the status of sending
3551 the message over the BUS */
3552 WDI_ReqStatusCb wdiReqStatusCB;
3553
3554 /*The user data passed in by UMAC, it will be sent back when the above
3555 function pointer will be called */
3556 void* pUserData;
3557}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003558
3559/*---------------------------------------------------------------------------
3560 WDI_SetMaxTxPowerRspMsg
3561---------------------------------------------------------------------------*/
3562
3563typedef struct
3564{
3565 /* In response, power==tx power used for management frames*/
3566 wpt_int8 ucPower;
3567
3568 /*Result of the operation*/
3569 WDI_Status wdiStatus;
3570
3571}WDI_SetMaxTxPowerRspMsg;
3572
schang86c22c42013-03-13 18:41:24 -07003573/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003574 WDI_SetMaxTxPowerPerBandRspMsg
3575---------------------------------------------------------------------------*/
3576typedef struct
3577{
3578 /* In response, power==tx power used for management frames*/
3579 wpt_int8 ucPower;
3580
3581 /*Result of the operation*/
3582 WDI_Status wdiStatus;
3583
3584}WDI_SetMaxTxPowerPerBandRspMsg;
3585
3586/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003587 WDI_SetTxPowerRspMsg
3588---------------------------------------------------------------------------*/
3589
3590typedef struct
3591{
3592 /* In response, power==tx power used for management frames*/
3593 wpt_int8 ucPower;
3594
3595 /*Result of the operation*/
3596 WDI_Status wdiStatus;
3597
3598}WDI_SetTxPowerRspMsg;
3599
Jeff Johnson295189b2012-06-20 16:38:30 -07003600typedef struct
3601{
3602 wpt_uint8 ucOpp_ps;
3603 wpt_uint32 uCtWindow;
3604 wpt_uint8 ucCount;
3605 wpt_uint32 uDuration;
3606 wpt_uint32 uInterval;
3607 wpt_uint32 uSingle_noa_duration;
3608 wpt_uint8 ucPsSelection;
3609}WDI_SetP2PGONOAReqInfoType;
3610
3611/*---------------------------------------------------------------------------
3612 WDI_SetP2PGONOAReqParamsType
3613---------------------------------------------------------------------------*/
3614typedef struct
3615{
3616 /*P2P GO NOA Req*/
3617 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3618
3619 /*Request status callback offered by UMAC - it is called if the current
3620 req has returned PENDING as status; it delivers the status of sending
3621 the message over the BUS */
3622 WDI_ReqStatusCb wdiReqStatusCB;
3623
3624 /*The user data passed in by UMAC, it will be sent back when the above
3625 function pointer will be called */
3626 void* pUserData;
3627}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003628
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303629#define WDI_MAX_SUPP_CHANNELS 128
3630#define WDI_MAX_SUPP_OPER_CLASSES 32
3631
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303632typedef struct
3633{
3634 wpt_uint16 uStaIdx;
3635 wpt_uint8 uIsResponder;
3636 wpt_uint8 uUapsdQueues;
3637 wpt_uint8 uMaxSp;
3638 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303639 wpt_uint8 uIsOffChannelSupported;
3640 wpt_uint8 peerCurrOperClass;
3641 wpt_uint8 selfCurrOperClass;
3642 wpt_uint8 validChannelsLen;
3643 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3644 wpt_uint8 validOperClassesLen;
3645 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303646}WDI_SetTDLSLinkEstablishReqInfoType;
3647/*---------------------------------------------------------------------------
3648 WDI_SetTDLSLinkEstablishReqParamsType
3649---------------------------------------------------------------------------*/
3650typedef struct
3651{
3652 /*TDLS Link Establish Req*/
3653 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3654
3655 /*Request status callback offered by UMAC - it is called if the current
3656 req has returned PENDING as status; it delivers the status of sending
3657 the message over the BUS */
3658 WDI_ReqStatusCb wdiReqStatusCB;
3659
3660 /*The user data passed in by UMAC, it will be sent back when the above
3661 function pointer will be called */
3662 void* pUserData;
3663}WDI_SetTDLSLinkEstablishReqParamsType;
3664
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303665typedef struct
3666{
3667 /*Result of the operation*/
3668 WDI_Status wdiStatus;
3669
3670 /*STA Idx*/
3671 wpt_uint16 uStaIdx;
3672}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003673
Atul Mittalc0f739f2014-07-31 13:47:47 +05303674
3675
3676typedef struct
3677{
3678 /*STA Index*/
3679 wpt_uint8 staIdx;
3680 /* if this is 1, self is initiator otherwise responder only*/
3681 wpt_uint8 isOffchannelInitiator;
3682 /*TDLS off channel related params */
3683 wpt_uint8 targetOperClass;
3684 wpt_uint8 targetChannel;
3685 wpt_uint8 secondaryChannelOffset;
3686 wpt_uint8 reserved[64];
3687}WDI_SetTDLSChanSwitchReqInfoType;
3688
3689typedef struct
3690{
3691 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3692 WDI_ReqStatusCb wdiReqStatusCB;
3693 void* pUserData;
3694}WDI_SetTDLSChanSwitchReqParamsType;
3695
3696
3697typedef struct
3698{
3699 /*Result of the operation*/
3700 WDI_Status wdiStatus;
3701
3702 /*STA Idx*/
3703 wpt_uint16 uStaIdx;
3704}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003705/*---------------------------------------------------------------------------
3706 WDI_SetAddSTASelfParamsType
3707---------------------------------------------------------------------------*/
3708typedef struct
3709{
3710 /*Self Station MAC address*/
3711 wpt_macAddr selfMacAddr;
3712
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003713 /*Self STA device mode*/
3714 wpt_uint32 currDeviceMode;
3715
Jeff Johnson295189b2012-06-20 16:38:30 -07003716 /*Status of the operation*/
3717 wpt_uint32 uStatus;
3718}WDI_AddSTASelfInfoType;
3719
3720/*---------------------------------------------------------------------------
3721 WDI_SetAddSTASelfParamsType
3722---------------------------------------------------------------------------*/
3723typedef struct
3724{
3725 /* Add Sta Self Req */
3726 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3727
3728 /*Request status callback offered by UMAC - it is called if the current
3729 req has returned PENDING as status; it delivers the status of sending
3730 the message over the BUS */
3731 WDI_ReqStatusCb wdiReqStatusCB;
3732
3733 /*The user data passed in by UMAC, it will be sent back when the above
3734 function pointer will be called */
3735 void* pUserData;
3736}WDI_AddSTASelfReqParamsType;
3737
3738
3739/*---------------------------------------------------------------------------
3740 WDI_AddSTASelfRspParamsType
3741---------------------------------------------------------------------------*/
3742typedef struct
3743{
3744 /*Status of the response*/
3745 WDI_Status wdiStatus;
3746
3747 /*STA Idx allocated by HAL*/
3748 wpt_uint8 ucSTASelfIdx;
3749
3750 /* DPU Index (IGTK, PTK, GTK all same) */
3751 wpt_uint8 dpuIdx;
3752
3753 /* DPU Signature */
3754 wpt_uint8 dpuSignature;
3755
3756 /*Self STA Mac*/
3757 wpt_macAddr macSelfSta;
3758
3759}WDI_AddSTASelfRspParamsType;
3760
3761/*---------------------------------------------------------------------------
3762 WDI_DelSTASelfReqParamsType
3763 Del Sta Self info passed to WDI form WDA
3764---------------------------------------------------------------------------*/
3765typedef struct
3766{
3767 wpt_macAddr selfMacAddr;
3768
3769}WDI_DelSTASelfInfoType;
3770
3771/*---------------------------------------------------------------------------
3772 WDI_DelSTASelfReqParamsType
3773 Del Sta Self info passed to WDI form WDA
3774---------------------------------------------------------------------------*/
3775typedef struct
3776{
3777 /*Del Sta Self Info Type */
3778 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3779 /*Request status callback offered by UMAC - it is called if the current req
3780 has returned PENDING as status; it delivers the status of sending the message
3781 over the BUS */
3782 WDI_ReqStatusCb wdiReqStatusCB;
3783 /*The user data passed in by UMAC, it will be sent back when the above
3784 function pointer will be called */
3785 void* pUserData;
3786}WDI_DelSTASelfReqParamsType;
3787
3788/*---------------------------------------------------------------------------
3789 WDI_DelSTASelfRspParamsType
3790---------------------------------------------------------------------------*/
3791typedef struct
3792{
3793 /*Status of the response*/
3794 WDI_Status wdiStatus;
3795
3796 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3797// wpt_uint8 ucSTAIdx;
3798}WDI_DelSTASelfRspParamsType;
3799
3800/*---------------------------------------------------------------------------
3801 WDI_UapsdInfoType
3802 UAPSD parameters passed per AC to WDA from UMAC
3803---------------------------------------------------------------------------*/
3804typedef struct
3805{
3806 wpt_uint8 ucSTAIdx; // STA index
3807 wpt_uint8 ucAc; // Access Category
3808 wpt_uint8 ucUp; // User Priority
3809 wpt_uint32 uSrvInterval; // Service Interval
3810 wpt_uint32 uSusInterval; // Suspend Interval
3811 wpt_uint32 uDelayInterval; // Delay Interval
3812} WDI_UapsdInfoType;
3813
3814/*---------------------------------------------------------------------------
3815 WDI_SetUapsdAcParamsReqParamsType
3816 UAPSD parameters passed per AC to WDI from WDA
3817---------------------------------------------------------------------------*/
3818typedef struct
3819{
3820 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3821 WDI_UapsdInfoType wdiUapsdInfo;
3822 /*Request status callback offered by UMAC - it is called if the current req
3823 has returned PENDING as status; it delivers the status of sending the message
3824 over the BUS */
3825 WDI_ReqStatusCb wdiReqStatusCB;
3826 /*The user data passed in by UMAC, it will be sent back when the above
3827 function pointer will be called */
3828 void* pUserData;
3829}WDI_SetUapsdAcParamsReqParamsType;
3830
3831/*---------------------------------------------------------------------------
3832 WDI_EnterBmpsReqinfoType
3833 Enter BMPS parameters passed to WDA from UMAC
3834---------------------------------------------------------------------------*/
3835typedef struct
3836{
3837 //TBTT value derived from the last beacon
3838 wpt_uint8 ucBssIdx;
3839 wpt_uint64 uTbtt;
3840 wpt_uint8 ucDtimCount;
3841 //DTIM period given to HAL during association may not be valid,
3842 //if association is based on ProbeRsp instead of beacon.
3843 wpt_uint8 ucDtimPeriod;
3844 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3845 DXE when DXE wakes up from power save*/
3846 unsigned int dxePhyAddr;
3847
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003848 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003849 wpt_uint32 rssiFilterPeriod;
3850 wpt_uint32 numBeaconPerRssiAverage;
3851 wpt_uint8 bRssiFilterEnable;
3852}WDI_EnterBmpsReqinfoType;
3853
3854/*---------------------------------------------------------------------------
3855 WDI_EnterBmpsReqParamsType
3856 Enter BMPS parameters passed to WDI from WDA
3857---------------------------------------------------------------------------*/
3858typedef struct
3859{
3860 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3861 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3862 /*Request status callback offered by UMAC - it is called if the current req
3863 has returned PENDING as status; it delivers the status of sending the message
3864 over the BUS */
3865 WDI_ReqStatusCb wdiReqStatusCB;
3866 /*The user data passed in by UMAC, it will be sent back when the above
3867 function pointer will be called */
3868 void* pUserData;
3869}WDI_EnterBmpsReqParamsType;
3870
3871/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303872 WDI_EnterImpsReqParamsType
3873 Enter IMPS parameters passed to WDI from WDA
3874---------------------------------------------------------------------------*/
3875typedef struct
3876{
3877 /*Request status callback offered by UMAC - it is called if the current req
3878 has returned PENDING as status; it delivers the status of sending the message
3879 over the BUS */
3880 WDI_ReqStatusCb wdiReqStatusCB;
3881 /*The user data passed in by UMAC, it will be sent back when the above
3882 function pointer will be called */
3883 void* pUserData;
3884}WDI_EnterImpsReqParamsType;
3885
3886/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303887 WDI_ExitImpsReqParamsType
3888 Exit IMPS parameters passed to WDI from WDA
3889----------------------------------------------------------------------------*/
3890typedef struct
3891{
3892 /*Request status callback offered by UMAC */
3893 WDI_ReqStatusCb wdiReqStatusCB;
3894 /*The user data passed in by UMAC, it will be sent back when the above
3895 function pointer will be called */
3896 void* pUserData;
3897
3898}WDI_ExitImpsReqParamsType;
3899
3900/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003901 WDI_EnterBmpsReqParamsType
3902 Enter BMPS parameters passed from WDI to WDA
3903---------------------------------------------------------------------------*/
3904typedef struct
3905{
3906 /*Status of the response*/
3907 WDI_Status wdiStatus;
3908
3909 /*BssIDX of the session*/
3910 wpt_uint8 bssIdx;
3911}WDI_EnterBmpsRspParamsType;
3912
3913/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003914 WDI_ExitBmpsReqinfoType
3915 Exit BMPS parameters passed to WDA from UMAC
3916---------------------------------------------------------------------------*/
3917typedef struct
3918{
3919 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003920 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003921}WDI_ExitBmpsReqinfoType;
3922
3923/*---------------------------------------------------------------------------
3924 WDI_ExitBmpsReqParamsType
3925 Exit BMPS parameters passed to WDI from WDA
3926---------------------------------------------------------------------------*/
3927typedef struct
3928{
3929 /*Exit BMPS Info Type, same as tExitBmpsParams */
3930 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3931 /*Request status callback offered by UMAC - it is called if the current req
3932 has returned PENDING as status; it delivers the status of sending the message
3933 over the BUS */
3934 WDI_ReqStatusCb wdiReqStatusCB;
3935 /*The user data passed in by UMAC, it will be sent back when the above
3936 function pointer will be called */
3937 void* pUserData;
3938}WDI_ExitBmpsReqParamsType;
3939
3940/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003941 WDI_ExitBmpsReqParamsType
3942 Exit BMPS parameters passed from WDI to WDA
3943---------------------------------------------------------------------------*/
3944typedef struct
3945{
3946 /*Status of the response*/
3947 WDI_Status wdiStatus;
3948
3949 /*BssIDX of the session*/
3950 wpt_uint8 bssIdx;
3951}WDI_ExitBmpsRspParamsType;
3952
3953/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003954 WDI_EnterUapsdReqinfoType
3955 Enter UAPSD parameters passed to WDA from UMAC
3956---------------------------------------------------------------------------*/
3957typedef struct
3958{
3959 wpt_uint8 ucBkDeliveryEnabled:1;
3960 wpt_uint8 ucBeDeliveryEnabled:1;
3961 wpt_uint8 ucViDeliveryEnabled:1;
3962 wpt_uint8 ucVoDeliveryEnabled:1;
3963 wpt_uint8 ucBkTriggerEnabled:1;
3964 wpt_uint8 ucBeTriggerEnabled:1;
3965 wpt_uint8 ucViTriggerEnabled:1;
3966 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003967 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003968}WDI_EnterUapsdReqinfoType;
3969
3970/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003971 WDI_EnterUapsdRspParamsType
3972 Enter UAPSD parameters passed from WDI to WDA
3973---------------------------------------------------------------------------*/
3974typedef struct
3975{
3976 /*Status of the response*/
3977 WDI_Status wdiStatus;
3978
3979 /*BssIDX of the session*/
3980 wpt_uint8 bssIdx;
3981}WDI_EnterUapsdRspParamsType;
3982
3983/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003984 WDI_EnterUapsdReqinfoType
3985 Enter UAPSD parameters passed to WDI from WDA
3986---------------------------------------------------------------------------*/
3987typedef struct
3988{
3989 /*Enter UAPSD Info Type, same as tUapsdParams */
3990 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3991 /*Request status callback offered by UMAC - it is called if the current req
3992 has returned PENDING as status; it delivers the status of sending the message
3993 over the BUS */
3994 WDI_ReqStatusCb wdiReqStatusCB;
3995 /*The user data passed in by UMAC, it will be sent back when the above
3996 function pointer will be called */
3997 void* pUserData;
3998}WDI_EnterUapsdReqParamsType;
3999
4000/*---------------------------------------------------------------------------
4001 WDI_UpdateUapsdReqinfoType
4002 Update UAPSD parameters passed to WDA from UMAC
4003---------------------------------------------------------------------------*/
4004typedef struct
4005{
4006 wpt_uint8 ucSTAIdx;
4007 wpt_uint8 ucUapsdACMask;
4008 wpt_uint32 uMaxSpLen;
4009}WDI_UpdateUapsdReqinfoType;
4010
4011/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004012 WDI_ExitUapsdReqinfoType
4013 Exit UAPSD parameters passed to WDA from UMAC
4014---------------------------------------------------------------------------*/
4015typedef struct
4016{
4017 wpt_uint8 bssIdx;
4018}WDI_ExitUapsdReqinfoType;
4019
4020/*---------------------------------------------------------------------------
4021 WDI_ExitUapsdReqParamsType
4022 Exit UAPSD parameters passed to WDI from WDA
4023---------------------------------------------------------------------------*/
4024typedef struct
4025{
4026 /*Exit UAPSD Info Type, same as tUapsdParams */
4027 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4028 /*Request status callback offered by UMAC - it is called if the current req
4029 has returned PENDING as status; it delivers the status of sending the message
4030 over the BUS */
4031 WDI_ReqStatusCb wdiReqStatusCB;
4032 /*The user data passed in by UMAC, it will be sent back when the above
4033 function pointer will be called */
4034 void* pUserData;
4035}WDI_ExitUapsdReqParamsType;
4036
4037/*---------------------------------------------------------------------------
4038 WDI_ExitUapsdRspParamsType
4039 Exit UAPSD parameters passed from WDI to WDA
4040---------------------------------------------------------------------------*/
4041typedef struct
4042{
4043 /*Status of the response*/
4044 WDI_Status wdiStatus;
4045
4046 /*BssIDX of the session*/
4047 wpt_uint8 bssIdx;
4048}WDI_ExitUapsdRspParamsType;
4049
4050/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004051 WDI_UpdateUapsdReqParamsType
4052 Update UAPSD parameters passed to WDI form WDA
4053---------------------------------------------------------------------------*/
4054typedef struct
4055{
4056 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4057 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4058 /*Request status callback offered by UMAC - it is called if the current req
4059 has returned PENDING as status; it delivers the status of sending the message
4060 over the BUS */
4061 WDI_ReqStatusCb wdiReqStatusCB;
4062 /*The user data passed in by UMAC, it will be sent back when the above
4063 function pointer will be called */
4064 void* pUserData;
4065}WDI_UpdateUapsdReqParamsType;
4066
4067/*---------------------------------------------------------------------------
4068 WDI_ConfigureRxpFilterReqParamsType
4069 RXP filter parameters passed to WDI form WDA
4070---------------------------------------------------------------------------*/
4071typedef struct
4072{
4073 /* Mode of Mcast and Bcast filters configured */
4074 wpt_uint8 ucSetMcstBcstFilterSetting;
4075
4076 /* Mcast Bcast Filters enable/disable*/
4077 wpt_uint8 ucSetMcstBcstFilter;
4078}WDI_RxpFilterReqParamsType;
4079
4080typedef struct
4081{
4082 /* Rxp Filter */
4083 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4084
4085 /*Request status callback offered by UMAC - it is called if the current req
4086 has returned PENDING as status; it delivers the status of sending the message
4087 over the BUS */
4088 WDI_ReqStatusCb wdiReqStatusCB;
4089 /*The user data passed in by UMAC, it will be sent back when the above
4090 function pointer will be called */
4091 void* pUserData;
4092}WDI_ConfigureRxpFilterReqParamsType;
4093
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304094typedef struct
4095{
4096 wpt_uint8 enableFlag;
4097 wpt_uint8 frameType;
4098 wpt_uint8 frameSize;
4099 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304100 wpt_uint8 continuousFrameLogging;
4101 wpt_uint8 minLogBufferSize;
4102 wpt_uint8 maxLogBufferSize;
4103}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304104
Siddharth Bhal64246172015-02-27 01:04:37 +05304105typedef struct
4106{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304107 wpt_uint32 reason_code;
4108}WDI_FatalEventLogsReqInfoType;
4109
4110
4111typedef struct
4112{
Siddharth Bhal64246172015-02-27 01:04:37 +05304113 wpt_uint8 flags;
4114}WDI_GetFrameLogReqInfoType;
4115
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304116typedef struct
4117{
4118 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
4119 wpt_uint32 status;
4120 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4121}WDI_FWLoggingDXEdoneIndInfoType;
4122
Jeff Johnson295189b2012-06-20 16:38:30 -07004123/*---------------------------------------------------------------------------
4124 WDI_BeaconFilterInfoType
4125 Beacon Filtering data structures passed to WDA form UMAC
4126---------------------------------------------------------------------------*/
4127typedef struct
4128{
4129 wpt_uint16 usCapabilityInfo;
4130 wpt_uint16 usCapabilityMask;
4131 wpt_uint16 usBeaconInterval;
4132 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004133 wpt_uint8 bssIdx;
4134 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004135}WDI_BeaconFilterInfoType;
4136
4137/*---------------------------------------------------------------------------
4138 WDI_BeaconFilterReqParamsType
4139 Beacon Filtering parameters passed to WDI form WDA
4140---------------------------------------------------------------------------*/
4141typedef struct
4142{
4143 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4144 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4145 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4146 copy of params from WDA to WDI */
4147 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4148 /*Request status callback offered by UMAC - it is called if the current req
4149 has returned PENDING as status; it delivers the status of sending the message
4150 over the BUS */
4151 WDI_ReqStatusCb wdiReqStatusCB;
4152 /*The user data passed in by UMAC, it will be sent back when the above
4153 function pointer will be called */
4154 void* pUserData;
4155}WDI_BeaconFilterReqParamsType;
4156
4157/*---------------------------------------------------------------------------
4158 WDI_RemBeaconFilterInfoType
4159 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4160---------------------------------------------------------------------------*/
4161typedef struct
4162{
4163 wpt_uint8 ucIeCount;
4164 wpt_uint8 ucRemIeId[1];
4165}WDI_RemBeaconFilterInfoType;
4166
4167/*---------------------------------------------------------------------------
4168 WDI_RemBeaconFilterReqParamsType
4169 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4170---------------------------------------------------------------------------*/
4171typedef struct
4172{
4173 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4174 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4175 /*Request status callback offered by UMAC - it is called if the current req
4176 has returned PENDING as status; it delivers the status of sending the message
4177 over the BUS */
4178 WDI_ReqStatusCb wdiReqStatusCB;
4179 /*The user data passed in by UMAC, it will be sent back when the above
4180 function pointer will be called */
4181 void* pUserData;
4182}WDI_RemBeaconFilterReqParamsType;
4183
4184/*---------------------------------------------------------------------------
4185 WDI_RSSIThresholdsType
4186 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4187---------------------------------------------------------------------------*/
4188typedef struct
4189{
4190 wpt_int8 ucRssiThreshold1 : 8;
4191 wpt_int8 ucRssiThreshold2 : 8;
4192 wpt_int8 ucRssiThreshold3 : 8;
4193 wpt_uint8 bRssiThres1PosNotify : 1;
4194 wpt_uint8 bRssiThres1NegNotify : 1;
4195 wpt_uint8 bRssiThres2PosNotify : 1;
4196 wpt_uint8 bRssiThres2NegNotify : 1;
4197 wpt_uint8 bRssiThres3PosNotify : 1;
4198 wpt_uint8 bRssiThres3NegNotify : 1;
4199 wpt_uint8 bReserved10 : 2;
4200} WDI_RSSIThresholdsType;
4201
4202/*---------------------------------------------------------------------------
4203 WDI_SetRSSIThresholdsReqParamsType
4204 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4205---------------------------------------------------------------------------*/
4206typedef struct
4207{
4208 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4209 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4210 /*Request status callback offered by UMAC - it is called if the current req
4211 has returned PENDING as status; it delivers the status of sending the message
4212 over the BUS */
4213 WDI_ReqStatusCb wdiReqStatusCB;
4214 /*The user data passed in by UMAC, it will be sent back when the above
4215 function pointer will be called */
4216 void* pUserData;
4217}WDI_SetRSSIThresholdsReqParamsType;
4218
4219/*---------------------------------------------------------------------------
4220 WDI_HostOffloadReqType
4221 host offload info passed to WDA form UMAC
4222---------------------------------------------------------------------------*/
4223#ifdef WLAN_NS_OFFLOAD
4224typedef struct
4225{
4226 wpt_uint8 srcIPv6Addr[16];
4227 wpt_uint8 selfIPv6Addr[16];
4228 //Only support 2 possible Network Advertisement IPv6 address
4229 wpt_uint8 targetIPv6Addr1[16];
4230 wpt_uint8 targetIPv6Addr2[16];
4231 wpt_uint8 selfMacAddr[6];
4232 wpt_uint8 srcIPv6AddrValid : 1;
4233 wpt_uint8 targetIPv6Addr1Valid : 1;
4234 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304235 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004236} WDI_NSOffloadParams;
4237#endif //WLAN_NS_OFFLOAD
4238
4239typedef struct
4240{
4241 wpt_uint8 ucOffloadType;
4242 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004243 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004244 union
4245 {
4246 wpt_uint8 aHostIpv4Addr [4];
4247 wpt_uint8 aHostIpv6Addr [16];
4248 } params;
4249} WDI_HostOffloadReqType;
4250
4251/*---------------------------------------------------------------------------
4252 WDI_HostOffloadReqParamsType
4253 host offload info passed to WDI form WDA
4254---------------------------------------------------------------------------*/
4255typedef struct
4256{
4257 /*Host offload Info Type, same as tHalHostOffloadReq */
4258 WDI_HostOffloadReqType wdiHostOffloadInfo;
4259#ifdef WLAN_NS_OFFLOAD
4260 WDI_NSOffloadParams wdiNsOffloadParams;
4261#endif //WLAN_NS_OFFLOAD
4262 /*Request status callback offered by UMAC - it is called if the current req
4263 has returned PENDING as status; it delivers the status of sending the message
4264 over the BUS */
4265 WDI_ReqStatusCb wdiReqStatusCB;
4266 /*The user data passed in by UMAC, it will be sent back when the above
4267 function pointer will be called */
4268 void* pUserData;
4269}WDI_HostOffloadReqParamsType;
4270
4271/*---------------------------------------------------------------------------
4272 WDI_KeepAliveReqType
4273 Keep Alive info passed to WDA form UMAC
4274---------------------------------------------------------------------------*/
4275typedef struct
4276{
4277 wpt_uint8 ucPacketType;
4278 wpt_uint32 ucTimePeriod;
4279 wpt_uint8 aHostIpv4Addr[4];
4280 wpt_uint8 aDestIpv4Addr[4];
4281 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004282 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004283} WDI_KeepAliveReqType;
4284
4285/*---------------------------------------------------------------------------
4286 WDI_KeepAliveReqParamsType
4287 Keep Alive passed to WDI form WDA
4288---------------------------------------------------------------------------*/
4289typedef struct
4290{
4291 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4292 WDI_KeepAliveReqType wdiKeepAliveInfo;
4293 /*Request status callback offered by UMAC - it is called if the current req
4294 has returned PENDING as status; it delivers the status of sending the message
4295 over the BUS */
4296 WDI_ReqStatusCb wdiReqStatusCB;
4297 /*The user data passed in by UMAC, it will be sent back when the above
4298 function pointer will be called */
4299 void* pUserData;
4300}WDI_KeepAliveReqParamsType;
4301
4302/*---------------------------------------------------------------------------
4303 WDI_WowlAddBcPtrnInfoType
4304 Wowl add ptrn info passed to WDA form UMAC
4305---------------------------------------------------------------------------*/
4306typedef struct
4307{
4308 wpt_uint8 ucPatternId; // Pattern ID
4309 // Pattern byte offset from beginning of the 802.11 packet to start of the
4310 // wake-up pattern
4311 wpt_uint8 ucPatternByteOffset;
4312 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4313 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4314 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4315 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4316 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4317 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004318 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004319} WDI_WowlAddBcPtrnInfoType;
4320
4321/*---------------------------------------------------------------------------
4322 WDI_WowlAddBcPtrnReqParamsType
4323 Wowl add ptrn info passed to WDI form WDA
4324---------------------------------------------------------------------------*/
4325typedef struct
4326{
4327 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4328 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4329 /*Request status callback offered by UMAC - it is called if the current req
4330 has returned PENDING as status; it delivers the status of sending the message
4331 over the BUS */
4332 WDI_ReqStatusCb wdiReqStatusCB;
4333 /*The user data passed in by UMAC, it will be sent back when the above
4334 function pointer will be called */
4335 void* pUserData;
4336}WDI_WowlAddBcPtrnReqParamsType;
4337
4338/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004339 WDI_WowlAddBcPtrnRspParamsType
4340 Wowl add ptrn info passed from WDI to WDA
4341---------------------------------------------------------------------------*/
4342typedef struct
4343{
4344 /*Status of the response*/
4345 WDI_Status wdiStatus;
4346 /*BssIDX of the session*/
4347 wpt_uint8 bssIdx;
4348}WDI_WowlAddBcPtrnRspParamsType;
4349
4350/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004351 WDI_WowlDelBcPtrnInfoType
4352 Wowl add ptrn info passed to WDA form UMAC
4353---------------------------------------------------------------------------*/
4354typedef struct
4355{
4356 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004357 wpt_uint8 ucPatternId;
4358 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004359} WDI_WowlDelBcPtrnInfoType;
4360
4361/*---------------------------------------------------------------------------
4362 WDI_WowlDelBcPtrnReqParamsType
4363 Wowl add ptrn info passed to WDI form WDA
4364---------------------------------------------------------------------------*/
4365typedef struct
4366{
4367 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4368 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4369 /*Request status callback offered by UMAC - it is called if the current req
4370 has returned PENDING as status; it delivers the status of sending the message
4371 over the BUS */
4372 WDI_ReqStatusCb wdiReqStatusCB;
4373 /*The user data passed in by UMAC, it will be sent back when the above
4374 function pointer will be called */
4375 void* pUserData;
4376}WDI_WowlDelBcPtrnReqParamsType;
4377
4378/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004379 WDI_WowlDelBcPtrnRspParamsType
4380 Wowl Del ptrn info passed from WDI to WDA
4381---------------------------------------------------------------------------*/
4382typedef struct
4383{
4384 /*Status of the response*/
4385 WDI_Status wdiStatus;
4386 /*BssIDX of the session*/
4387 wpt_uint8 bssIdx;
4388}WDI_WowlDelBcPtrnRspParamsType;
4389
4390/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004391 WDI_WowlEnterInfoType
4392 Wowl enter info passed to WDA form UMAC
4393---------------------------------------------------------------------------*/
4394typedef struct
4395{
4396 /* Enables/disables magic packet filtering */
4397 wpt_uint8 ucMagicPktEnable;
4398
4399 /* Magic pattern */
4400 wpt_macAddr magicPtrn;
4401
4402 /* Enables/disables packet pattern filtering in firmware.
4403 Enabling this flag enables broadcast pattern matching
4404 in Firmware. If unicast pattern matching is also desired,
4405 ucUcastPatternFilteringEnable flag must be set tot true
4406 as well
4407 */
4408 wpt_uint8 ucPatternFilteringEnable;
4409
4410 /* Enables/disables unicast packet pattern filtering.
4411 This flag specifies whether we want to do pattern match
4412 on unicast packets as well and not just broadcast packets.
4413 This flag has no effect if the ucPatternFilteringEnable
4414 (main controlling flag) is set to false
4415 */
4416 wpt_uint8 ucUcastPatternFilteringEnable;
4417
4418 /* This configuration is valid only when magicPktEnable=1.
4419 * It requests hardware to wake up when it receives the
4420 * Channel Switch Action Frame.
4421 */
4422 wpt_uint8 ucWowChnlSwitchRcv;
4423
4424 /* This configuration is valid only when magicPktEnable=1.
4425 * It requests hardware to wake up when it receives the
4426 * Deauthentication Frame.
4427 */
4428 wpt_uint8 ucWowDeauthRcv;
4429
4430 /* This configuration is valid only when magicPktEnable=1.
4431 * It requests hardware to wake up when it receives the
4432 * Disassociation Frame.
4433 */
4434 wpt_uint8 ucWowDisassocRcv;
4435
4436 /* This configuration is valid only when magicPktEnable=1.
4437 * It requests hardware to wake up when it has missed
4438 * consecutive beacons. This is a hardware register
4439 * configuration (NOT a firmware configuration).
4440 */
4441 wpt_uint8 ucWowMaxMissedBeacons;
4442
4443 /* This configuration is valid only when magicPktEnable=1.
4444 * This is a timeout value in units of microsec. It requests
4445 * hardware to unconditionally wake up after it has stayed
4446 * in WoWLAN mode for some time. Set 0 to disable this feature.
4447 */
4448 wpt_uint8 ucWowMaxSleepUsec;
4449
4450#ifdef WLAN_WAKEUP_EVENTS
4451 /* This configuration directs the WoW packet filtering to look for EAP-ID
4452 * requests embedded in EAPOL frames and use this as a wake source.
4453 */
4454 wpt_uint8 ucWoWEAPIDRequestEnable;
4455
4456 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4457 * requests and use this as a wake source.
4458 */
4459 wpt_uint8 ucWoWEAPOL4WayEnable;
4460
4461 /* This configuration allows a host wakeup on an network scan offload match.
4462 */
4463 wpt_uint8 ucWowNetScanOffloadMatch;
4464
4465 /* This configuration allows a host wakeup on any GTK rekeying error.
4466 */
4467 wpt_uint8 ucWowGTKRekeyError;
4468
4469 /* This configuration allows a host wakeup on BSS connection loss.
4470 */
4471 wpt_uint8 ucWoWBSSConnLoss;
4472#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004473
4474 /* BSSIDX used to find the current session
4475 */
4476 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004477} WDI_WowlEnterInfoType;
4478
4479/*---------------------------------------------------------------------------
4480 WDI_WowlEnterReqParamsType
4481 Wowl enter info passed to WDI form WDA
4482---------------------------------------------------------------------------*/
4483typedef struct
4484{
4485 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4486 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4487 /*Request status callback offered by UMAC - it is called if the current req
4488 has returned PENDING as status; it delivers the status of sending the message
4489 over the BUS */
4490 WDI_ReqStatusCb wdiReqStatusCB;
4491 /*The user data passed in by UMAC, it will be sent back when the above
4492 function pointer will be called */
4493 void* pUserData;
4494}WDI_WowlEnterReqParamsType;
4495
4496/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004497 WDI_WowlEnterRsqParamsType
4498 Wowl enter info passed from WDI to WDA
4499---------------------------------------------------------------------------*/
4500typedef struct
4501{
4502 /*Status of the response message*/
4503 WDI_Status status;
4504
4505 /* BSSIDX used to find the current session
4506 */
4507 wpt_uint8 bssIdx;
4508}WDI_WowlEnterRspParamsType;
4509
4510/*---------------------------------------------------------------------------
4511 WDI_WowlExitInfoType
4512 Wowl exit info passed to WDA form UMAC
4513 ---------------------------------------------------------------------------*/
4514typedef struct
4515{
4516 /* BSSIDX used to find the current session
4517 */
4518 wpt_uint8 bssIdx;
4519} WDI_WowlExitInfoType;
4520
4521/*---------------------------------------------------------------------------
4522 WDI_WowlExitReqParamsType
4523 Wowl exit info passed to WDI form WDA
4524---------------------------------------------------------------------------*/
4525typedef struct
4526{
4527 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4528 WDI_WowlExitInfoType wdiWowlExitInfo;
4529 /*Request status callback offered by UMAC - it is called if the current req
4530 has returned PENDING as status; it delivers the status of sending the message
4531 over the BUS */
4532 WDI_ReqStatusCb wdiReqStatusCB;
4533 /*The user data passed in by UMAC, it will be sent back when the above
4534 function pointer will be called */
4535 void* pUserData;
4536}WDI_WowlExitReqParamsType;
4537
4538/*---------------------------------------------------------------------------
4539 WDI_WowlExitRspParamsType
4540 Wowl exit info passed from WDI to WDA
4541---------------------------------------------------------------------------*/
4542typedef struct
4543{
4544 /*Status of the response message*/
4545 WDI_Status status;
4546
4547 /* BSSIDX used to find the current session
4548 */
4549 wpt_uint8 bssIdx;
4550}WDI_WowlExitRspParamsType;
4551
4552/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004553 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4554 Apps Cpu Wakeup State parameters passed to WDI form WDA
4555---------------------------------------------------------------------------*/
4556typedef struct
4557{
4558 /*Depicts the state of the Apps CPU */
4559 wpt_boolean bIsAppsAwake;
4560 /*Request status callback offered by UMAC - it is called if the current req
4561 has returned PENDING as status; it delivers the status of sending the message
4562 over the BUS */
4563 WDI_ReqStatusCb wdiReqStatusCB;
4564 /*The user data passed in by UMAC, it will be sent back when the above
4565 function pointer will be called */
4566 void* pUserData;
4567}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4568/*---------------------------------------------------------------------------
4569 WDI_FlushAcReqinfoType
4570---------------------------------------------------------------------------*/
4571typedef struct
4572{
4573 // Message Type
4574 wpt_uint16 usMesgType;
4575
4576 // Message Length
4577 wpt_uint16 usMesgLen;
4578
4579 // Station Index. originates from HAL
4580 wpt_uint8 ucSTAId;
4581
4582 // TID for which the transmit queue is being flushed
4583 wpt_uint8 ucTid;
4584
4585}WDI_FlushAcReqinfoType;
4586
4587/*---------------------------------------------------------------------------
4588 WDI_FlushAcReqParamsType
4589---------------------------------------------------------------------------*/
4590typedef struct
4591{
4592 /*AC Info */
4593 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4594
4595 /*Request status callback offered by UMAC - it is called if the current
4596 req has returned PENDING as status; it delivers the status of sending
4597 the message over the BUS */
4598 WDI_ReqStatusCb wdiReqStatusCB;
4599
4600 /*The user data passed in by UMAC, it will be sent back when the above
4601 function pointer will be called */
4602 void* pUserData;
4603}WDI_FlushAcReqParamsType;
4604
4605/*---------------------------------------------------------------------------
4606 WDI_BtAmpEventinfoType
4607 BT-AMP Event Structure
4608---------------------------------------------------------------------------*/
4609typedef struct
4610{
4611 wpt_uint8 ucBtAmpEventType;
4612
4613} WDI_BtAmpEventinfoType;
4614
4615/*---------------------------------------------------------------------------
4616 WDI_BtAmpEventParamsType
4617---------------------------------------------------------------------------*/
4618typedef struct
4619{
4620 /*BT AMP event Info */
4621 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4622
4623 /*Request status callback offered by UMAC - it is called if the current
4624 req has returned PENDING as status; it delivers the status of sending
4625 the message over the BUS */
4626 WDI_ReqStatusCb wdiReqStatusCB;
4627
4628 /*The user data passed in by UMAC, it will be sent back when the above
4629 function pointer will be called */
4630 void* pUserData;
4631}WDI_BtAmpEventParamsType;
4632
Jeff Johnsone7245742012-09-05 17:12:55 -07004633#ifdef FEATURE_OEM_DATA_SUPPORT
4634
4635#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004636#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004637#endif
4638#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004639#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004640#endif
4641
4642/*----------------------------------------------------------------------------
4643 WDI_oemDataReqInfoType
4644----------------------------------------------------------------------------*/
4645typedef struct
4646{
4647 wpt_macAddr selfMacAddr;
4648 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4649}WDI_oemDataReqInfoType;
4650
4651/*----------------------------------------------------------------------------
4652 WDI_oemDataReqParamsType
4653----------------------------------------------------------------------------*/
4654typedef struct
4655{
4656 /*Request status callback offered by UMAC - it is called if the current
4657 req has returned PENDING as status; it delivers the status of sending
4658 the message over the BUS */
4659 WDI_ReqStatusCb wdiReqStatusCB;
4660
4661 /*The user data passed in by UMAC, it will be sent back when the above
4662 function pointer will be called */
4663 void* pUserData;
4664
4665 /*OEM DATA REQ Info */
4666 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4667
4668}WDI_oemDataReqParamsType;
4669
4670/*----------------------------------------------------------------------------
4671 WDI_oemDataRspParamsType
4672----------------------------------------------------------------------------*/
4673typedef struct
4674{
4675 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4676}WDI_oemDataRspParamsType;
4677
4678#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004679
4680#ifdef WLAN_FEATURE_VOWIFI_11R
4681/*---------------------------------------------------------------------------
4682 WDI_AggrAddTSReqInfoType
4683---------------------------------------------------------------------------*/
4684typedef struct
4685{
4686 /*STA Index*/
4687 wpt_uint8 ucSTAIdx;
4688
4689 /*Identifier for TSpec*/
4690 wpt_uint8 ucTspecIdx;
4691
4692 /*Tspec IE negotiated OTA*/
4693 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4694
4695 /*UAPSD delivery and trigger enabled flags */
4696 wpt_uint8 ucUapsdFlags;
4697
4698 /*SI for each AC*/
4699 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4700
4701 /*Suspend Interval for each AC*/
4702 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4703
4704 /*DI for each AC*/
4705 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4706
4707}WDI_AggrAddTSReqInfoType;
4708
4709
4710/*---------------------------------------------------------------------------
4711 WDI_AggrAddTSReqParamsType
4712---------------------------------------------------------------------------*/
4713typedef struct
4714{
4715 /*TSpec Info */
4716 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4717
4718 /*Request status callback offered by UMAC - it is called if the current
4719 req has returned PENDING as status; it delivers the status of sending
4720 the message over the BUS */
4721 WDI_ReqStatusCb wdiReqStatusCB;
4722
4723 /*The user data passed in by UMAC, it will be sent back when the above
4724 function pointer will be called */
4725 void* pUserData;
4726}WDI_AggrAddTSReqParamsType;
4727
4728#endif /* WLAN_FEATURE_VOWIFI_11R */
4729
Jeff Johnson295189b2012-06-20 16:38:30 -07004730/*---------------------------------------------------------------------------
4731 WDI_FTMCommandReqType
4732---------------------------------------------------------------------------*/
4733typedef struct
4734{
4735 /* FTM Command Body length */
4736 wpt_uint32 bodyLength;
4737 /* Actual FTM Command body */
4738 void *FTMCommandBody;
4739}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004740
4741/*---------------------------------------------------------------------------
4742 WDI_WlanSuspendInfoType
4743---------------------------------------------------------------------------*/
4744typedef struct
4745{
4746 /* Mode of Mcast and Bcast filters configured */
4747 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4748}WDI_WlanSuspendInfoType;
4749
4750/*---------------------------------------------------------------------------
4751 WDI_SuspendParamsType
4752---------------------------------------------------------------------------*/
4753typedef struct
4754{
4755 WDI_WlanSuspendInfoType wdiSuspendParams;
4756
4757 /*Request status callback offered by UMAC - it is called if the current
4758 req has returned PENDING as status; it delivers the status of sending
4759 the message over the BUS */
4760 WDI_ReqStatusCb wdiReqStatusCB;
4761
4762 /*The user data passed in by UMAC, it will be sent back when the above
4763 function pointer will be called */
4764 void* pUserData;
4765
4766}WDI_SuspendParamsType;
4767
4768/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004769 WDI_TrafficStatsType - This is collected for each STA
4770---------------------------------------------------------------------------*/
4771
4772typedef struct
4773{
4774 /* TX stats */
4775 wpt_uint32 txBytesPushed;
4776 wpt_uint32 txPacketsPushed;
4777
4778 /* RX stats */
4779 wpt_uint32 rxBytesRcvd;
4780 wpt_uint32 rxPacketsRcvd;
4781 wpt_uint32 rxTimeTotal;
4782}WDI_TrafficStatsType;
4783
4784typedef struct
4785{
4786 WDI_TrafficStatsType *pTrafficStats;
4787 wpt_uint32 length;
4788 wpt_uint32 duration;
4789
4790 /*Request status callback offered by UMAC - it is called if the current
4791 req has returned PENDING as status; it delivers the status of sending
4792 the message over the BUS */
4793 WDI_ReqStatusCb wdiReqStatusCB;
4794
4795 /*The user data passed in by UMAC, it will be sent back when the above
4796 function pointer will be called */
4797 void* pUserData;
4798}WDI_TrafficStatsIndType;
4799
Chet Lanctot186b5732013-03-18 10:26:30 -07004800#ifdef WLAN_FEATURE_11W
4801typedef struct
4802{
4803
4804 wpt_boolean bExcludeUnencrypt;
4805 wpt_macAddr bssid;
4806 /*Request status callback offered by UMAC - it is called if the current
4807 req has returned PENDING as status; it delivers the status of sending
4808 the message over the BUS */
4809 WDI_ReqStatusCb wdiReqStatusCB;
4810
4811 /*The user data passed in by UMAC, it will be sent back when the above
4812 function pointer will be called */
4813 void* pUserData;
4814}WDI_ExcludeUnencryptIndType;
4815#endif
4816
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004817/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004818 WDI_WlanResumeInfoType
4819---------------------------------------------------------------------------*/
4820typedef struct
4821{
4822 /* Mode of Mcast and Bcast filters configured */
4823 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4824}WDI_WlanResumeInfoType;
4825
4826/*---------------------------------------------------------------------------
4827 WDI_ResumeParamsType
4828---------------------------------------------------------------------------*/
4829typedef struct
4830{
4831 WDI_WlanResumeInfoType wdiResumeParams;
4832
4833 /*Request status callback offered by UMAC - it is called if the current
4834 req has returned PENDING as status; it delivers the status of sending
4835 the message over the BUS */
4836 WDI_ReqStatusCb wdiReqStatusCB;
4837
4838 /*The user data passed in by UMAC, it will be sent back when the above
4839 function pointer will be called */
4840 void* pUserData;
4841
4842}WDI_ResumeParamsType;
4843
4844#ifdef WLAN_FEATURE_GTK_OFFLOAD
4845/*---------------------------------------------------------------------------
4846 * WDI_GTK_OFFLOAD_REQ
4847 *--------------------------------------------------------------------------*/
4848
4849typedef struct
4850{
4851 wpt_uint32 ulFlags; /* optional flags */
4852 wpt_uint8 aKCK[16]; /* Key confirmation key */
4853 wpt_uint8 aKEK[16]; /* key encryption key */
4854 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004855 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004856} WDI_GtkOffloadReqParams;
4857
4858typedef struct
4859{
4860 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4861
4862 /*Request status callback offered by UMAC - it is called if the current
4863 req has returned PENDING as status; it delivers the status of sending
4864 the message over the BUS */
4865 WDI_ReqStatusCb wdiReqStatusCB;
4866
4867 /*The user data passed in by UMAC, it will be sent back when the above
4868 function pointer will be called */
4869 void* pUserData;
4870} WDI_GtkOffloadReqMsg;
4871
4872/*---------------------------------------------------------------------------
4873 * WDI_GTK_OFFLOAD_RSP
4874 *--------------------------------------------------------------------------*/
4875typedef struct
4876{
4877 /* success or failure */
4878 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004879 /*BssIdx of the response */
4880 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004881} WDI_GtkOffloadRspParams;
4882
4883typedef struct
4884{
4885 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4886
4887 /*Request status callback offered by UMAC - it is called if the current
4888 req has returned PENDING as status; it delivers the status of sending
4889 the message over the BUS */
4890 WDI_ReqStatusCb wdiReqStatusCB;
4891
4892 /*The user data passed in by UMAC, it will be sent back when the above
4893 function pointer will be called */
4894 void* pUserData;
4895} WDI_GtkOffloadRspMsg;
4896
4897
4898/*---------------------------------------------------------------------------
4899* WDI_GTK_OFFLOAD_GETINFO_REQ
4900*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004901typedef struct
4902{
4903 /*BssIdx of the response */
4904 wpt_macAddr bssId;
4905} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004906
4907typedef struct
4908{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004909
4910 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004911 /*Request status callback offered by UMAC - it is called if the current
4912 req has returned PENDING as status; it delivers the status of sending
4913 the message over the BUS */
4914 WDI_ReqStatusCb wdiReqStatusCB;
4915
4916 /*The user data passed in by UMAC, it will be sent back when the above
4917 function pointer will be called */
4918 void* pUserData;
4919} WDI_GtkOffloadGetInfoReqMsg;
4920
4921/*---------------------------------------------------------------------------
4922* WDI_GTK_OFFLOAD_GETINFO_RSP
4923*--------------------------------------------------------------------------*/
4924typedef struct
4925{
4926 wpt_uint32 ulStatus; /* success or failure */
4927 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4928 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4929 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4930 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304931 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004932} WDI_GtkOffloadGetInfoRspParams;
4933
4934typedef struct
4935{
4936 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4937
4938 /*Request status callback offered by UMAC - it is called if the current
4939 req has returned PENDING as status; it delivers the status of sending
4940 the message over the BUS */
4941 WDI_ReqStatusCb wdiReqStatusCB;
4942
4943 /*The user data passed in by UMAC, it will be sent back when the above
4944 function pointer will be called */
4945 void* pUserData;
4946} WDI_GtkOffloadGetInfoRspMsg;
4947#endif // WLAN_FEATURE_GTK_OFFLOAD
4948
4949/*---------------------------------------------------------------------------
4950 WDI_SuspendResumeRspParamsType
4951---------------------------------------------------------------------------*/
4952typedef struct
4953{
4954 /*Status of the response*/
4955 WDI_Status wdiStatus;
4956}WDI_SuspendResumeRspParamsType;
4957
Leo Chang9056f462013-08-01 19:21:11 -07004958#ifdef FEATURE_WLAN_LPHB
4959/*---------------------------------------------------------------------------
4960 WDI Low Power Heart Beat Config request
4961 Copy from sirApi.h to avoid compile error
4962---------------------------------------------------------------------------*/
4963#define WDI_LPHB_FILTER_LEN 64
4964
4965typedef enum
4966{
4967 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4968 WDI_LPHB_SET_TCP_PARAMS_INDID,
4969 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4970 WDI_LPHB_SET_UDP_PARAMS_INDID,
4971 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4972 WDI_LPHB_SET_NETWORK_INFO_INDID,
4973} WDI_LPHBIndType;
4974
4975typedef struct
4976{
4977 wpt_uint8 enable;
4978 wpt_uint8 item;
4979 wpt_uint8 session;
4980} WDI_LPHBEnableStruct;
4981
4982typedef struct
4983{
4984 wpt_uint32 srv_ip;
4985 wpt_uint32 dev_ip;
4986 wpt_uint16 src_port;
4987 wpt_uint16 dst_port;
4988 wpt_uint16 timeout;
4989 wpt_uint8 session;
4990 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004991 wpt_uint16 timePeriodSec; // in seconds
4992 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004993} WDI_LPHBTcpParamStruct;
4994
4995typedef struct
4996{
4997 wpt_uint16 length;
4998 wpt_uint8 offset;
4999 wpt_uint8 session;
5000 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5001} WDI_LPHBTcpFilterStruct;
5002
5003typedef struct
5004{
5005 wpt_uint32 srv_ip;
5006 wpt_uint32 dev_ip;
5007 wpt_uint16 src_port;
5008 wpt_uint16 dst_port;
5009 wpt_uint16 interval;
5010 wpt_uint16 timeout;
5011 wpt_uint8 session;
5012 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5013} WDI_LPHBUdpParamStruct;
5014
5015typedef struct
5016{
5017 wpt_uint16 length;
5018 wpt_uint8 offset;
5019 wpt_uint8 session;
5020 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5021} WDI_LPHBUdpFilterStruct;
5022
5023typedef struct
5024{
5025 wpt_uint16 cmd;
5026 wpt_uint16 dummy;
5027 union
5028 {
5029 WDI_LPHBEnableStruct lphbEnableReq;
5030 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5031 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5032 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5033 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5034 } params;
5035} WDI_LPHBReq;
5036#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005037
Jeff Johnson295189b2012-06-20 16:38:30 -07005038/*---------------------------------------------------------------------------
5039 WDI_AuthType
5040---------------------------------------------------------------------------*/
5041typedef enum
5042{
5043 WDI_AUTH_TYPE_ANY = 0,
5044
5045 WDI_AUTH_TYPE_NONE,
5046 WDI_AUTH_TYPE_OPEN_SYSTEM,
5047 WDI_AUTH_TYPE_SHARED_KEY,
5048
5049 WDI_AUTH_TYPE_WPA,
5050 WDI_AUTH_TYPE_WPA_PSK,
5051 WDI_AUTH_TYPE_WPA_NONE,
5052
5053 WDI_AUTH_TYPE_RSN,
5054 WDI_AUTH_TYPE_RSN_PSK,
5055 WDI_AUTH_TYPE_FT_RSN,
5056 WDI_AUTH_TYPE_FT_RSN_PSK,
5057 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5058 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5059 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5060
5061}WDI_AuthType;
5062
5063/*---------------------------------------------------------------------------
5064 WDI_EdType
5065---------------------------------------------------------------------------*/
5066typedef enum
5067{
5068 WDI_ED_ANY = 0,
5069 WDI_ED_NONE,
5070 WDI_ED_WEP40,
5071 WDI_ED_WEP104,
5072 WDI_ED_TKIP,
5073 WDI_ED_CCMP,
5074 WDI_ED_WPI,
5075 WDI_ED_AES_128_CMAC,
5076 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5077} WDI_EdType;
5078
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005079#ifdef FEATURE_WLAN_SCAN_PNO
5080
5081/*Max number of channels for a given network supported by PNO*/
5082#define WDI_PNO_MAX_NETW_CHANNELS 26
5083
5084/*Max number of channels for a given network supported by PNO*/
5085#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5086
5087/*The max number of programable networks for PNO*/
5088#define WDI_PNO_MAX_SUPP_NETWORKS 16
5089
5090/*The max number of scan timers programable in Riva*/
5091#define WDI_PNO_MAX_SCAN_TIMERS 10
5092
5093#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005094
5095/*---------------------------------------------------------------------------
5096 WDI_PNOMode
5097---------------------------------------------------------------------------*/
5098typedef enum
5099{
5100 /*Network offload is to start immediately*/
5101 WDI_PNO_MODE_IMMEDIATE,
5102
5103 /*Network offload is to start on host suspend*/
5104 WDI_PNO_MODE_ON_SUSPEND,
5105
5106 /*Network offload is to start on host resume*/
5107 WDI_PNO_MODE_ON_RESUME,
5108 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5109} WDI_PNOMode;
5110
5111/* SSID broadcast type */
5112typedef enum
5113{
5114 WDI_BCAST_UNKNOWN = 0,
5115 WDI_BCAST_NORMAL = 1,
5116 WDI_BCAST_HIDDEN = 2,
5117
5118 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5119} WDI_SSIDBcastType;
5120
5121/*---------------------------------------------------------------------------
5122 WDI_NetworkType
5123---------------------------------------------------------------------------*/
5124typedef struct
5125{
5126 /*The SSID of the preferred network*/
5127 WDI_MacSSid ssId;
5128
5129 /*The authentication method of the preferred network*/
5130 WDI_AuthType wdiAuth;
5131
5132 /*The encryption method of the preferred network*/
5133 WDI_EdType wdiEncryption;
5134
5135 /*SSID broadcast type, normal, hidden or unknown*/
5136 WDI_SSIDBcastType wdiBcastNetworkType;
5137
5138 /*channel count - 0 for all channels*/
5139 wpt_uint8 ucChannelCount;
5140
5141 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305142 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005143
5144 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5145 wpt_uint8 rssiThreshold;
5146} WDI_NetworkType;
5147
5148
5149/*---------------------------------------------------------------------------
5150 WDI_ScanTimer
5151---------------------------------------------------------------------------*/
5152typedef struct
5153{
5154 /*The timer value*/
5155 wpt_uint32 uTimerValue;
5156
5157 /*The amount of time we should be repeating the interval*/
5158 wpt_uint32 uTimerRepeat;
5159} WDI_ScanTimer;
5160
5161/*---------------------------------------------------------------------------
5162 WDI_ScanTimersType
5163---------------------------------------------------------------------------*/
5164typedef struct
5165{
5166 /*The number of value pair intervals present in the array*/
5167 wpt_uint8 ucScanTimersCount;
5168
5169 /*The time-repeat value pairs*/
5170 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5171} WDI_ScanTimersType;
5172
5173/*---------------------------------------------------------------------------
5174 WDI_PNOScanReqType
5175---------------------------------------------------------------------------*/
5176typedef struct
5177{
5178 /*Enable or disable PNO feature*/
5179 wpt_uint8 bEnable;
5180
5181 /*PNO mode requested*/
5182 WDI_PNOMode wdiModePNO;
5183
5184 /*Network count*/
5185 wpt_uint8 ucNetworksCount;
5186
5187 /*The networks to look for*/
5188 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5189
5190 /*Scan timer intervals*/
5191 WDI_ScanTimersType scanTimers;
5192
5193 /*Probe template for 2.4GHz band*/
5194 wpt_uint16 us24GProbeSize;
5195 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5196
5197 /*Probe template for 5GHz band*/
5198 wpt_uint16 us5GProbeSize;
5199 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5200} WDI_PNOScanReqType;
5201
5202/*---------------------------------------------------------------------------
5203 WDI_PNOScanReqParamsType
5204 PNO info passed to WDI form WDA
5205---------------------------------------------------------------------------*/
5206typedef struct
5207{
5208 /* PNO Info Type, same as tPrefNetwListParams */
5209 WDI_PNOScanReqType wdiPNOScanInfo;
5210 /* Request status callback offered by UMAC - it is called if the current req
5211 has returned PENDING as status; it delivers the status of sending the message
5212 over the BUS */
5213 WDI_ReqStatusCb wdiReqStatusCB;
5214 /* The user data passed in by UMAC, it will be sent back when the above
5215 function pointer will be called */
5216 void* pUserData;
5217} WDI_PNOScanReqParamsType;
5218
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005219/*---------------------------------------------------------------------------
5220 WDI_SetRssiFilterReqParamsType
5221 PNO info passed to WDI form WDA
5222---------------------------------------------------------------------------*/
5223typedef struct
5224{
5225 /* RSSI Threshold */
5226 wpt_uint8 rssiThreshold;
5227 /* Request status callback offered by UMAC - it is called if the current req
5228 has returned PENDING as status; it delivers the status of sending the message
5229 over the BUS */
5230 WDI_ReqStatusCb wdiReqStatusCB;
5231 /* The user data passed in by UMAC, it will be sent back when the above
5232 function pointer will be called */
5233 void* pUserData;
5234} WDI_SetRssiFilterReqParamsType;
5235
5236/*---------------------------------------------------------------------------
5237 WDI_UpdateScanParamsInfo
5238---------------------------------------------------------------------------*/
5239typedef struct
5240{
5241 /*Is 11d enabled*/
5242 wpt_uint8 b11dEnabled;
5243
5244 /*Was UMAc able to find the regulatory domain*/
5245 wpt_uint8 b11dResolved;
5246
5247 /*Number of channel allowed in the regulatory domain*/
5248 wpt_uint8 ucChannelCount;
5249
5250 /*The actual channels allowed in the regulatory domain*/
5251 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5252
5253 /*Passive min channel time*/
5254 wpt_uint16 usPassiveMinChTime;
5255
5256 /*Passive max channel time*/
5257 wpt_uint16 usPassiveMaxChTime;
5258
5259 /*Active min channel time*/
5260 wpt_uint16 usActiveMinChTime;
5261
5262 /*Active max channel time*/
5263 wpt_uint16 usActiveMaxChTime;
5264
5265 /*channel bonding info*/
5266 wpt_uint8 cbState;
5267} WDI_UpdateScanParamsInfo;
5268
5269/*---------------------------------------------------------------------------
5270 WDI_UpdateScanParamsInfoType
5271 UpdateScanParams info passed to WDI form WDA
5272---------------------------------------------------------------------------*/
5273typedef struct
5274{
5275 /* PNO Info Type, same as tUpdateScanParams */
5276 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5277 /* Request status callback offered by UMAC - it is called if the current req
5278 has returned PENDING as status; it delivers the status of sending the message
5279 over the BUS */
5280 WDI_ReqStatusCb wdiReqStatusCB;
5281 /* The user data passed in by UMAC, it will be sent back when the above
5282 function pointer will be called */
5283 void* pUserData;
5284} WDI_UpdateScanParamsInfoType;
5285#endif //FEATURE_WLAN_SCAN_PNO
5286
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005287#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5288
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005289#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005290#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005291
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005292typedef struct
5293{
5294 /*The SSID of the preferred network*/
5295 WDI_MacSSid ssId;
5296 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5297
5298 /*The authentication method of the preferred network*/
5299 WDI_AuthType authentication;
5300
5301 /*The encryption method of the preferred network*/
5302 WDI_EdType encryption;
5303 WDI_EdType mcencryption;
5304
5305 /*SSID broadcast type, normal, hidden or unknown*/
5306 //WDI_SSIDBcastType wdiBcastNetworkType;
5307
5308 /*channel count - 0 for all channels*/
5309 wpt_uint8 ChannelCount;
5310
5311 /*the actual channels*/
5312 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5313
5314} WDI_RoamNetworkType;
5315
5316typedef struct WDIMobilityDomainInfo
5317{
5318 wpt_uint8 mdiePresent;
5319 wpt_uint16 mobilityDomain;
5320} WDI_MobilityDomainInfo;
5321
5322/*---------------------------------------------------------------------------
5323 WDI_RoamOffloadScanInfo
5324---------------------------------------------------------------------------*/
5325typedef struct
5326{
5327 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005328 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005329 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005330 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005331 wpt_uint8 RoamRssiDiff;
5332 wpt_uint8 ChannelCacheType;
5333 wpt_uint8 Command;
5334 wpt_uint8 StartScanReason;
5335 wpt_uint16 NeighborScanTimerPeriod;
5336 wpt_uint16 NeighborRoamScanRefreshPeriod;
5337 wpt_uint16 NeighborScanChannelMinTime;
5338 wpt_uint16 NeighborScanChannelMaxTime;
5339 wpt_uint16 EmptyRefreshScanPeriod;
5340 wpt_uint8 ValidChannelCount;
5341 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005342 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005343 /*Probe template for 2.4GHz band*/
5344 wpt_uint16 us24GProbeSize;
5345 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5346
5347 /*Probe template for 5GHz band*/
5348 wpt_uint16 us5GProbeSize;
5349 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005350 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005351 * As per requirement, later, the following structure can be used as an array of networks.*/
5352 WDI_RoamNetworkType ConnectedNetwork;
5353 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005354 wpt_uint8 nProbes;
5355 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005356} WDI_RoamOffloadScanInfo;
5357
5358typedef struct
5359{
5360 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5361 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5362 /* Request status callback offered by UMAC - it is called if the current req
5363 has returned PENDING as status; it delivers the status of sending the message
5364 over the BUS */
5365 WDI_ReqStatusCb wdiReqStatusCB;
5366 /* The user data passed in by UMAC, it will be sent back when the above
5367 function pointer will be called */
5368 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005369} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005370#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005371
5372/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305373 WDI_HT40ObssScanIndType
5374---------------------------------------------------------------------------*/
5375typedef struct
5376{
5377 wpt_uint8 cmdType;
5378 wpt_uint8 scanType;
5379 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5380 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5381 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5382 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5383 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5384 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5385 wpt_uint16 OBSSScanActivityThreshold;
5386 wpt_uint8 selfStaIdx;
5387 wpt_uint8 bssIdx;
5388 wpt_uint8 fortyMHZIntolerent;
5389 wpt_uint8 channelCount;
5390 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5391 wpt_uint8 currentOperatingClass;
5392 wpt_uint16 ieFieldLen;
5393 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5394} WDI_HT40ObssScanIndType;
5395
5396
5397/*---------------------------------------------------------------------------
5398 WDI_OBSSScanIndParamsType
5399---------------------------------------------------------------------------*/
5400typedef struct
5401{
5402 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5403
5404 /*Request status callback offered by UMAC - it is called if the current
5405 req has returned PENDING as status; it delivers the status of sending
5406 the message over the BUS */
5407 WDI_ReqStatusCb wdiReqStatusCB;
5408
5409 /*The user data passed in by UMAC, it will be sent back when the above
5410 function pointer will be called */
5411 void* pUserData;
5412
5413}WDI_HT40ObssScanParamsType;
5414
5415/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005416 WDI_UpdateScanParamsInfo
5417---------------------------------------------------------------------------*/
5418typedef struct
5419{
5420 /* Ignore DTIM */
5421 wpt_uint32 uIgnoreDTIM;
5422
5423 /*DTIM Period*/
5424 wpt_uint32 uDTIMPeriod;
5425
5426 /* Listen Interval */
5427 wpt_uint32 uListenInterval;
5428
5429 /* Broadcast Multicas Filter */
5430 wpt_uint32 uBcastMcastFilter;
5431
5432 /* Beacon Early Termination */
5433 wpt_uint32 uEnableBET;
5434
5435 /* Beacon Early Termination Interval */
5436 wpt_uint32 uBETInterval;
5437
Yue Mac24062f2013-05-13 17:01:29 -07005438 /* MAX LI for modulated DTIM */
5439 wpt_uint32 uMaxLIModulatedDTIM;
5440
Jeff Johnson295189b2012-06-20 16:38:30 -07005441} WDI_SetPowerParamsInfo;
5442
5443/*---------------------------------------------------------------------------
5444 WDI_UpdateScanParamsInfoType
5445 UpdateScanParams info passed to WDI form WDA
5446---------------------------------------------------------------------------*/
5447typedef struct
5448{
5449 /* Power params Info Type, same as tSetPowerParamsReq */
5450 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5451 /* Request status callback offered by UMAC - it is called if the current req
5452 has returned PENDING as status; it delivers the status of sending the message
5453 over the BUS */
5454 WDI_ReqStatusCb wdiReqStatusCB;
5455 /* The user data passed in by UMAC, it will be sent back when the above
5456 function pointer will be called */
5457 void* pUserData;
5458}WDI_SetPowerParamsReqParamsType;
5459
5460/*---------------------------------------------------------------------------
5461 WDI_SetTxPerTrackingConfType
5462 Wowl add ptrn info passed to WDA form UMAC
5463---------------------------------------------------------------------------*/
5464typedef struct
5465{
5466 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5467 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5468 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5469 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5470} WDI_TxPerTrackingParamType;
5471
5472/*---------------------------------------------------------------------------
5473 WDI_SetTxPerTrackingReqParamsType
5474 Tx PER Tracking parameters passed to WDI from WDA
5475---------------------------------------------------------------------------*/
5476typedef struct
5477{
5478 /* Configurations for Tx PER Tracking */
5479 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5480 /*Request status callback offered by UMAC - it is called if the current req
5481 has returned PENDING as status; it delivers the status of sending the message
5482 over the BUS */
5483 WDI_ReqStatusCb wdiReqStatusCB;
5484 /*The user data passed in by UMAC, it will be sent back when the above
5485 function pointer will be called */
5486 void* pUserData;
5487}WDI_SetTxPerTrackingReqParamsType;
5488
5489#ifdef WLAN_FEATURE_PACKET_FILTERING
5490/*---------------------------------------------------------------------------
5491 Packet Filtering Parameters
5492---------------------------------------------------------------------------*/
5493
5494#define WDI_IPV4_ADDR_LEN 4
5495#define WDI_MAC_ADDR_LEN 6
5496#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5497#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5498#define WDI_MAX_NUM_FILTERS 20
5499#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5500
5501//
5502// Receive Filter Parameters
5503//
5504typedef enum
5505{
5506 WDI_RCV_FILTER_TYPE_INVALID,
5507 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5508 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5509 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5510}WDI_ReceivePacketFilterType;
5511
5512typedef enum
5513{
5514 WDI_FILTER_HDR_TYPE_INVALID,
5515 WDI_FILTER_HDR_TYPE_MAC,
5516 WDI_FILTER_HDR_TYPE_ARP,
5517 WDI_FILTER_HDR_TYPE_IPV4,
5518 WDI_FILTER_HDR_TYPE_IPV6,
5519 WDI_FILTER_HDR_TYPE_UDP,
5520 WDI_FILTER_HDR_TYPE_MAX
5521}WDI_RcvPktFltProtocolType;
5522
5523typedef enum
5524{
5525 WDI_FILTER_CMP_TYPE_INVALID,
5526 WDI_FILTER_CMP_TYPE_EQUAL,
5527 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5528 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5529 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5530 WDI_FILTER_CMP_TYPE_MAX
5531}WDI_RcvPktFltCmpFlagType;
5532
5533typedef struct
5534{
5535 WDI_RcvPktFltProtocolType protocolLayer;
5536 WDI_RcvPktFltCmpFlagType cmpFlag;
5537/* Length of the data to compare */
5538 wpt_uint16 dataLength;
5539/* from start of the respective frame header */
5540 wpt_uint8 dataOffset;
5541 wpt_uint8 reserved; /* Reserved field */
5542/* Data to compare */
5543 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5544/* Mask to be applied on the received packet data before compare */
5545 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5546}WDI_RcvPktFilterFieldParams;
5547
5548typedef struct
5549{
5550 wpt_uint8 filterId;
5551 wpt_uint8 filterType;
5552 wpt_uint32 numFieldParams;
5553 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005554 wpt_macAddr selfMacAddr;
5555 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005556 WDI_RcvPktFilterFieldParams paramsData[1];
5557
Jeff Johnson295189b2012-06-20 16:38:30 -07005558}WDI_RcvPktFilterCfgType;
5559
5560typedef struct
5561{
5562 /*Request status callback offered by UMAC - it is called if the current
5563 req has returned PENDING as status; it delivers the status of sending
5564 the message over the BUS */
5565 WDI_ReqStatusCb wdiReqStatusCB;
5566
5567 /*The user data passed in by UMAC, it will be sent back when the above
5568 function pointer will be called */
5569 void* pUserData;
5570
5571 // Variable length packet filter field params
5572 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5573} WDI_SetRcvPktFilterReqParamsType;
5574
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005575typedef struct
5576{
5577 /*Result of the operation*/
5578 WDI_Status wdiStatus;
5579 /* BSSIDX of the Set Receive Filter
5580 */
5581 wpt_uint8 bssIdx;
5582} WDI_SetRcvPktFilterRspParamsType;
5583
Jeff Johnson295189b2012-06-20 16:38:30 -07005584//
5585// Filter Packet Match Count Parameters
5586//
5587typedef struct
5588{
5589 /*Request status callback offered by UMAC - it is called if the current
5590 req has returned PENDING as status; it delivers the status of sending
5591 the message over the BUS */
5592 WDI_ReqStatusCb wdiReqStatusCB;
5593
5594 /*The user data passed in by UMAC, it will be sent back when the above
5595 function pointer will be called */
5596 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005597
5598 /* BSSID of the Match count
5599 */
5600 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005601} WDI_RcvFltPktMatchCntReqParamsType;
5602
5603typedef struct
5604{
5605 wpt_uint8 filterId;
5606 wpt_uint32 matchCnt;
5607} WDI_RcvFltPktMatchCnt;
5608
5609typedef struct
5610{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005611 /*Result of the operation*/
5612 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005613
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005614 /* BSSIDX of the Match count response
5615 */
5616 wpt_uint8 bssIdx;
5617
Jeff Johnson295189b2012-06-20 16:38:30 -07005618} WDI_RcvFltPktMatchCntRspParamsType;
5619
Jeff Johnson295189b2012-06-20 16:38:30 -07005620//
5621// Receive Filter Clear Parameters
5622//
5623typedef struct
5624{
5625 wpt_uint32 status; /* only valid for response message */
5626 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005627 wpt_macAddr selfMacAddr;
5628 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005629}WDI_RcvFltPktClearParam;
5630
5631typedef struct
5632{
5633 WDI_RcvFltPktClearParam filterClearParam;
5634 /*Request status callback offered by UMAC - it is called if the current
5635 req has returned PENDING as status; it delivers the status of sending
5636 the message over the BUS */
5637 WDI_ReqStatusCb wdiReqStatusCB;
5638
5639 /*The user data passed in by UMAC, it will be sent back when the above
5640 function pointer will be called */
5641 void* pUserData;
5642} WDI_RcvFltPktClearReqParamsType;
5643
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005644typedef struct
5645{
5646 /*Result of the operation*/
5647 WDI_Status wdiStatus;
5648 /* BSSIDX of the Match count response
5649 */
5650 wpt_uint8 bssIdx;
5651
5652} WDI_RcvFltPktClearRspParamsType;
5653
Jeff Johnson295189b2012-06-20 16:38:30 -07005654//
5655// Multicast Address List Parameters
5656//
5657typedef struct
5658{
5659 wpt_uint32 ulMulticastAddrCnt;
5660 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005661 wpt_macAddr selfMacAddr;
5662 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005663} WDI_RcvFltMcAddrListType;
5664
5665typedef struct
5666{
5667 WDI_RcvFltMcAddrListType mcAddrList;
5668 /*Request status callback offered by UMAC - it is called if the current
5669 req has returned PENDING as status; it delivers the status of sending
5670 the message over the BUS */
5671 WDI_ReqStatusCb wdiReqStatusCB;
5672
5673 /*The user data passed in by UMAC, it will be sent back when the above
5674 function pointer will be called */
5675 void* pUserData;
5676} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005677
5678typedef struct
5679{
5680 /*Result of the operation*/
5681 WDI_Status wdiStatus;
5682 /* BSSIDX of the Match count response
5683 */
5684 wpt_uint8 bssIdx;
5685} WDI_RcvFltPktSetMcListRspParamsType;
5686
Jeff Johnson295189b2012-06-20 16:38:30 -07005687#endif // WLAN_FEATURE_PACKET_FILTERING
5688
5689/*---------------------------------------------------------------------------
5690 WDI_HALDumpCmdReqInfoType
5691---------------------------------------------------------------------------*/
5692typedef struct
5693{
5694 /*command*/
5695 wpt_uint32 command;
5696
5697 /*Arguments*/
5698 wpt_uint32 argument1;
5699 wpt_uint32 argument2;
5700 wpt_uint32 argument3;
5701 wpt_uint32 argument4;
5702
5703}WDI_HALDumpCmdReqInfoType;
5704
5705/*---------------------------------------------------------------------------
5706 WDI_HALDumpCmdReqParamsType
5707---------------------------------------------------------------------------*/
5708typedef struct
5709{
5710 /*NV Blob Info*/
5711 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5712
5713 /*Request status callback offered by UMAC - it is called if the current
5714 req has returned PENDING as status; it delivers the status of sending
5715 the message over the BUS */
5716 WDI_ReqStatusCb wdiReqStatusCB;
5717
5718 /*The user data passed in by UMAC, it will be sent back when the above
5719 function pointer will be called */
5720 void* pUserData;
5721
5722}WDI_HALDumpCmdReqParamsType;
5723
5724
5725/*---------------------------------------------------------------------------
5726 WDI_HALDumpCmdRspParamsType
5727---------------------------------------------------------------------------*/
5728typedef struct
5729{
5730 /*Result of the operation*/
5731 WDI_Status wdiStatus;
5732
5733 /* length of the buffer */
5734 wpt_uint16 usBufferLen;
5735
5736 /* Buffer */
5737 wpt_uint8 *pBuffer;
5738}WDI_HALDumpCmdRspParamsType;
5739
5740
5741/*---------------------------------------------------------------------------
5742 WDI_SetTmLevelReqType
5743---------------------------------------------------------------------------*/
5744typedef struct
5745{
5746 wpt_uint16 tmMode;
5747 wpt_uint16 tmLevel;
5748 void* pUserData;
5749}WDI_SetTmLevelReqType;
5750
5751/*---------------------------------------------------------------------------
5752 WDI_SetTmLevelRspType
5753---------------------------------------------------------------------------*/
5754typedef struct
5755{
5756 WDI_Status wdiStatus;
5757 void* pUserData;
5758}WDI_SetTmLevelRspType;
5759
Leo Chang9056f462013-08-01 19:21:11 -07005760#ifdef FEATURE_WLAN_LPHB
5761/*---------------------------------------------------------------------------
5762 WDI_LPHBConfigParamsType
5763---------------------------------------------------------------------------*/
5764typedef struct
5765{
5766 void* pLphsConfIndData;
5767}WDI_LPHBConfigParamsType;
5768#endif /* FEATURE_WLAN_LPHB */
5769
Yue Mab9c86f42013-08-14 15:59:08 -07005770/*---------------------------------------------------------------------------
5771 WDI_AddPeriodicTxPtrnInfoType
5772---------------------------------------------------------------------------*/
5773typedef struct
5774{
5775 /* MAC Address for the adapter */
5776 wpt_macAddr macAddr;
5777
5778 wpt_uint8 ucPtrnId; // Pattern ID
5779 wpt_uint16 ucPtrnSize; // Pattern size
5780 wpt_uint32 usPtrnIntervalMs; // In msec
5781 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5782} WDI_AddPeriodicTxPtrnInfoType;
5783
5784/*---------------------------------------------------------------------------
5785 WDI_DelPeriodicTxPtrnInfoType
5786---------------------------------------------------------------------------*/
5787typedef struct
5788{
5789 /* MAC Address for the adapter */
5790 wpt_macAddr macAddr;
5791
5792 /* Bitmap of pattern IDs that needs to be deleted */
5793 wpt_uint32 ucPatternIdBitmap;
5794} WDI_DelPeriodicTxPtrnInfoType;
5795
5796/*---------------------------------------------------------------------------
5797 WDI_AddPeriodicTxPtrnParamsType
5798---------------------------------------------------------------------------*/
5799typedef struct
5800{
5801 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5802
5803 /*Request status callback offered by UMAC - it is called if the current
5804 req has returned PENDING as status; it delivers the status of sending
5805 the message over the BUS */
5806 WDI_ReqStatusCb wdiReqStatusCB;
5807
5808 /*The user data passed in by UMAC, it will be sent back when the above
5809 function pointer will be called */
5810 void* pUserData;
5811} WDI_AddPeriodicTxPtrnParamsType;
5812
5813/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305814 WDI_NanRequestType
5815---------------------------------------------------------------------------*/
5816typedef struct
5817{
5818 wpt_uint16 request_data_len;
5819 wpt_uint8 request_data[1];
5820} WDI_NanRequestType;
5821
5822
5823/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005824 WDI_DelPeriodicTxPtrnParamsType
5825---------------------------------------------------------------------------*/
5826typedef struct
5827{
5828 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5829
5830 /*Request status callback offered by UMAC - it is called if the current
5831 req has returned PENDING as status; it delivers the status of sending
5832 the message over the BUS */
5833 WDI_ReqStatusCb wdiReqStatusCB;
5834
5835 /*The user data passed in by UMAC, it will be sent back when the above
5836 function pointer will be called */
5837 void* pUserData;
5838} WDI_DelPeriodicTxPtrnParamsType;
5839
Dino Mycle41bdc942014-06-10 11:30:24 +05305840#ifdef WLAN_FEATURE_EXTSCAN
5841
5842#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5843#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5844#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5845#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5846
5847typedef enum
5848{
5849 WDI_WIFI_BAND_UNSPECIFIED,
5850 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5851 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5852 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5853 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5854 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5855 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5856
5857 /* Keep it last */
5858 WDI_WIFI_BAND_MAX
5859} WDI_WifiBand;
5860
5861typedef struct
5862{
5863 wpt_uint32 channel; // frequency
5864 wpt_uint32 dwellTimeMs; // dwell time hint
5865 wpt_uint8 passive; // 0 => active,
5866 // 1 => passive scan; ignored for DFS
5867 wpt_uint8 chnlClass;
5868} WDI_WifiScanChannelSpec;
5869
5870typedef struct
5871{
5872 wpt_uint8 bucket; // bucket index, 0 based
5873 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5874
5875 /*
5876 * desired period, in millisecond; if this is too
5877 * low, the firmware should choose to generate results as fast as
5878 * it can instead of failing the command byte
5879 */
5880 wpt_uint32 period;
5881
5882 /*
5883 * 0 => normal reporting (reporting rssi history
5884 * only, when rssi history buffer is % full)
5885 * 1 => same as 0 + report a scan completion event after scanning
5886 * this bucket
5887 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5888 * in real time to HAL
5889 */
5890 wpt_uint8 reportEvents;
5891
5892 wpt_uint8 numChannels;
5893
5894 /*
5895 * channels to scan; these may include DFS channels
5896 */
5897 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5898} WDI_WifiScanBucketSpec;
5899
5900typedef struct
5901{
5902 wpt_uint32 requestId;
5903 wpt_uint8 sessionId;
5904 wpt_uint32 basePeriod; // base timer period
5905 wpt_uint32 maxAPperScan;
5906
5907 /* in %, when buffer is this much full, wake up host */
5908 wpt_uint32 reportThreshold;
5909
5910 wpt_uint8 numBuckets;
5911 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5912} WDI_EXTScanStartReqParams;
5913
5914typedef struct
5915{
5916 wpt_uint32 requestId;
5917 wpt_uint8 sessionId;
5918} WDI_EXTScanStopReqParams;
5919
5920typedef struct
5921{
5922 wpt_uint32 requestId;
5923 wpt_uint8 sessionId;
5924
5925 /*
5926 * 1 return cached results and flush it
5927 * 0 return cached results and do not flush
5928 */
5929 wpt_boolean flush;
5930} WDI_EXTScanGetCachedResultsReqParams;
5931
5932typedef struct
5933{
5934 wpt_uint32 requestId;
5935 wpt_uint8 sessionId;
5936} WDI_EXTScanGetCapabilitiesReqParams;
5937
5938typedef struct
5939{
5940 wpt_uint8 bssid[6]; /* BSSID */
5941 wpt_int32 low; // low threshold
5942 wpt_int32 high; // high threshold
5943 wpt_uint32 channel; // channel hint
5944} WDI_APThresholdParam;
5945
5946typedef struct
5947{
5948 wpt_int32 requestId;
5949 wpt_int8 sessionId; // session Id mapped to vdev_id
5950
5951 wpt_int32 numAp; // number of hotlist APs
5952 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5953} WDI_EXTScanSetBSSIDHotlistReqParams;
5954
5955typedef struct
5956{
5957 wpt_uint32 requestId;
5958 wpt_uint8 sessionId;
5959} WDI_EXTScanResetBSSIDHotlistReqParams;
5960
5961
5962typedef struct
5963{
5964 wpt_int32 requestId;
5965 wpt_int8 sessionId; // session Id mapped to vdev_id
5966
5967 /* number of samples for averaging RSSI */
5968 wpt_int32 rssiSampleSize;
5969
5970 /* number of missed samples to confirm AP loss */
5971 wpt_int32 lostApSampleSize;
5972
5973 /* number of APs breaching threshold required for firmware
5974 * to generate event
5975 */
5976 wpt_int32 minBreaching;
5977
5978 wpt_int32 numAp; // number of hotlist APs
5979 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5980} WDI_EXTScanSetSignfRSSIChangeReqParams;
5981
5982typedef struct
5983{
5984 wpt_uint32 requestId;
5985 wpt_uint8 sessionId;
5986} WDI_EXTScanResetSignfRSSIChangeReqParams;
5987#endif /* WLAN_FEATURE_EXTSCAN */
5988
Sunil Duttbd736ed2014-05-26 21:19:41 +05305989#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5990typedef struct
5991{
5992 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305993 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305994 wpt_uint32 mpduSizeThreshold;
5995 wpt_uint32 aggressiveStatisticsGathering;
5996}WDI_LLStatsSetReqType;
5997
5998typedef struct
5999{
6000 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306001 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306002 wpt_uint32 paramIdMask;
6003}WDI_LLStatsGetReqType;
6004
6005typedef struct
6006{
6007 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306008 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306009 wpt_uint32 statsClearReqMask;
6010 wpt_uint8 stopReq;
6011}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306012
Sunil Duttbd736ed2014-05-26 21:19:41 +05306013#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6014
Siddharth Bhal171788a2014-09-29 21:02:40 +05306015/*---------------------------------------------------------------------------
6016 WDI_SPOOF_MAC_ADDR_REQ
6017---------------------------------------------------------------------------*/
6018typedef struct
6019{
6020 /* Spoof MAC Address for FW */
6021 wpt_macAddr macAddr;
6022
6023 /* Reserved Params/fields */
6024 wpt_uint32 params;
6025 wpt_uint32 reserved;
6026} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306027
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306028//This is to force compiler to use the maximum of an int for enum
6029#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6030// Enum to specify whether key is used
6031// for TX only, RX only or both
6032typedef enum
6033{
6034 eWDI_TX_ONLY,
6035 eWDI_RX_ONLY,
6036 eWDI_TX_RX,
6037 eWDI_TX_DEFAULT,
6038 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6039} tWDIKeyDirection;
6040
6041// MAX key length when ULA is used
6042#define SIR_MAC_MAX_KEY_LENGTH 32
6043/* Max key size including the WAPI and TKIP */
6044#define WLAN_MAX_KEY_RSC_LEN 16
6045// Definition for Encryption Keys
6046//typedef struct sSirKeys
6047typedef struct
6048{
6049 wpt_uint8 keyId;
6050 wpt_uint8 unicast; // 0 for multicast
6051 tWDIKeyDirection keyDirection;
6052 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6053 wpt_uint8 paeRole; // =1 for authenticator,
6054 // =0 for supplicant
6055 wpt_uint16 keyLength;
6056 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6057} tWDIKeys, *tpWDIKeys;
6058
6059typedef enum
6060{
6061 eWDI_WEP_STATIC,
6062 eWDI_WEP_DYNAMIC,
6063} tWDIWepType;
6064
6065// Encryption type enum used with peer
6066typedef enum
6067{
6068 eWDI_ED_NONE,
6069 eWDI_ED_WEP40,
6070 eWDI_ED_WEP104,
6071 eWDI_ED_TKIP,
6072 eWDI_ED_CCMP,
6073#if defined(FEATURE_WLAN_WAPI)
6074 eWDI_ED_WPI,
6075#endif
6076 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6077 * Thus while setting BIP encryption mode in corresponding DPU Desc
6078 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6079 */
6080 eWDI_ED_AES_128_CMAC,
6081 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6082} tWDIEdType;
6083#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6084/*
6085 * This is used by PE to configure the key information on a given station.
6086 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6087 * a preconfigured key from a BSS the station assoicated with; otherwise
6088 * a new key descriptor is created based on the key field.
6089 */
6090typedef struct
6091{
6092 wpt_uint16 staIdx;
6093 tWDIEdType encType; // Encryption/Decryption type
6094 tWDIWepType wepType; // valid only for WEP
6095 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6096 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6097 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6098 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6099} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6100
6101typedef struct
6102{
6103 tWDISetStaKeyParams keyParams;
6104 wpt_uint8 pn[6];
6105}wpt_encConfigParams;
6106
6107typedef struct
6108{
6109 wpt_uint16 length;
6110 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6111}wpt_payload;
6112
6113typedef struct
6114{
6115 wpt_80211Header macHeader;
6116 wpt_encConfigParams encParams;
6117 wpt_payload data;
6118}wpt_pkt80211;
6119
Katya Nigamf0511f62015-05-05 16:40:57 +05306120#define NUM_FILTERS_SUPPORTED 1
6121typedef struct
6122{
6123 wpt_macAddr macAddr;
6124 wpt_uint8 isA1filter;
6125 wpt_uint8 isA2filter;
6126 wpt_uint8 isA3filter;
6127}WDI_filter;
6128
6129typedef struct
6130{
6131 /* start or stop */
6132 wpt_uint8 state;
6133 /*Conversion of packet required or not*/
6134 wpt_uint8 is80211to803ConReq;
6135 wpt_uint32 ChannelNo;
6136 wpt_uint32 ChannelBW;
6137 wpt_uint8 crcCheckEnabled;
6138 wpt_uint8 numOfMacFilters;
6139 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6140 wpt_uint64 typeSubtypeBitmap;
6141 wpt_uint64 rsvd;
6142
6143}WDI_MonStartReqType;
6144
Jeff Johnson295189b2012-06-20 16:38:30 -07006145/*----------------------------------------------------------------------------
6146 * WDI callback types
6147 *--------------------------------------------------------------------------*/
6148
6149/*---------------------------------------------------------------------------
6150 WDI_StartRspCb
6151
6152 DESCRIPTION
6153
6154 This callback is invoked by DAL when it has received a Start response from
6155 the underlying device.
6156
6157 PARAMETERS
6158
6159 IN
6160 wdiRspParams: response parameters received from HAL
6161 pUserData: user data
6162
6163
6164 RETURN VALUE
6165 The result code associated with performing the operation
6166---------------------------------------------------------------------------*/
6167typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6168 void* pUserData);
6169
6170/*---------------------------------------------------------------------------
6171 WDI_StartRspCb
6172
6173 DESCRIPTION
6174
6175 This callback is invoked by DAL when it has received a Stop response from
6176 the underlying device.
6177
6178 PARAMETERS
6179
6180 IN
6181 wdiStatus: response status received from HAL
6182 pUserData: user data
6183
6184
6185
6186 RETURN VALUE
6187 The result code associated with performing the operation
6188---------------------------------------------------------------------------*/
6189typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6190 void* pUserData);
6191
6192/*---------------------------------------------------------------------------
6193 WDI_StartRspCb
6194
6195 DESCRIPTION
6196
6197 This callback is invoked by DAL when it has received an Init Scan response
6198 from the underlying device.
6199
6200 PARAMETERS
6201
6202 IN
6203 wdiStatus: response status received from HAL
6204 pUserData: user data
6205
6206
6207
6208 RETURN VALUE
6209 The result code associated with performing the operation
6210---------------------------------------------------------------------------*/
6211typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6212 void* pUserData);
6213
6214
6215/*---------------------------------------------------------------------------
6216 WDI_StartRspCb
6217
6218 DESCRIPTION
6219
6220 This callback is invoked by DAL when it has received a StartScan response
6221 from the underlying device.
6222
6223 PARAMETERS
6224
6225 IN
6226 wdiParams: response params received from HAL
6227 pUserData: user data
6228
6229
6230
6231 RETURN VALUE
6232 The result code associated with performing the operation
6233---------------------------------------------------------------------------*/
6234typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6235 void* pUserData);
6236
6237
6238/*---------------------------------------------------------------------------
6239 WDI_StartRspCb
6240
6241 DESCRIPTION
6242
6243 This callback is invoked by DAL when it has received a End Scan response
6244 from the underlying device.
6245
6246 PARAMETERS
6247
6248 IN
6249 wdiStatus: 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_EndScanRspCb)(WDI_Status wdiStatus,
6258 void* pUserData);
6259
6260
6261/*---------------------------------------------------------------------------
6262 WDI_StartRspCb
6263
6264 DESCRIPTION
6265
6266 This callback is invoked by DAL when it has received a Finish Scan response
6267 from the underlying device.
6268
6269 PARAMETERS
6270
6271 IN
6272 wdiStatus: response status received from HAL
6273 pUserData: user data
6274
6275
6276
6277 RETURN VALUE
6278 The result code associated with performing the operation
6279---------------------------------------------------------------------------*/
6280typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6281 void* pUserData);
6282
6283
6284/*---------------------------------------------------------------------------
6285 WDI_StartRspCb
6286
6287 DESCRIPTION
6288
6289 This callback is invoked by DAL when it has received a Join response from
6290 the underlying device.
6291
6292 PARAMETERS
6293
6294 IN
6295 wdiStatus: response status received from HAL
6296 pUserData: user data
6297
6298
6299
6300 RETURN VALUE
6301 The result code associated with performing the operation
6302---------------------------------------------------------------------------*/
6303typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6304 void* pUserData);
6305
6306
6307/*---------------------------------------------------------------------------
6308 WDI_StartRspCb
6309
6310 DESCRIPTION
6311
6312 This callback is invoked by DAL when it has received a Config BSS response
6313 from the underlying device.
6314
6315 PARAMETERS
6316
6317 IN
6318 wdiConfigBSSRsp: response parameters received from HAL
6319 pUserData: user data
6320
6321
6322 RETURN VALUE
6323 The result code associated with performing the operation
6324---------------------------------------------------------------------------*/
6325typedef void (*WDI_ConfigBSSRspCb)(
6326 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6327 void* pUserData);
6328
6329
6330/*---------------------------------------------------------------------------
6331 WDI_StartRspCb
6332
6333 DESCRIPTION
6334
6335 This callback is invoked by DAL when it has received a Del BSS response from
6336 the underlying device.
6337
6338 PARAMETERS
6339
6340 IN
6341 wdiDelBSSRsp: response parameters received from HAL
6342 pUserData: user data
6343
6344
6345 RETURN VALUE
6346 The result code associated with performing the operation
6347---------------------------------------------------------------------------*/
6348typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6349 void* pUserData);
6350
6351
6352/*---------------------------------------------------------------------------
6353 WDI_StartRspCb
6354
6355 DESCRIPTION
6356
6357 This callback is invoked by DAL when it has received a Post Assoc response
6358 from the underlying device.
6359
6360 PARAMETERS
6361
6362 IN
6363 wdiRspParams: response parameters received from HAL
6364 pUserData: user data
6365
6366
6367 RETURN VALUE
6368 The result code associated with performing the operation
6369---------------------------------------------------------------------------*/
6370typedef void (*WDI_PostAssocRspCb)(
6371 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6372 void* pUserData);
6373
6374
6375/*---------------------------------------------------------------------------
6376 WDI_StartRspCb
6377
6378 DESCRIPTION
6379
6380 This callback is invoked by DAL when it has received a Del STA response from
6381 the underlying device.
6382
6383 PARAMETERS
6384
6385 IN
6386 wdiDelSTARsp: response parameters received from HAL
6387 pUserData: user data
6388
6389
6390 RETURN VALUE
6391 The result code associated with performing the operation
6392---------------------------------------------------------------------------*/
6393typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6394 void* pUserData);
6395
6396
6397
6398/*---------------------------------------------------------------------------
6399 WDI_StartRspCb
6400
6401 DESCRIPTION
6402
6403 This callback is invoked by DAL when it has received a Set BSS Key response
6404 from the underlying device.
6405
6406 PARAMETERS
6407
6408 IN
6409 wdiStatus: response status received from HAL
6410 pUserData: user data
6411
6412
6413
6414 RETURN VALUE
6415 The result code associated with performing the operation
6416---------------------------------------------------------------------------*/
6417typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6418 void* pUserData);
6419
6420/*---------------------------------------------------------------------------
6421 WDI_StartRspCb
6422
6423 DESCRIPTION
6424
6425 This callback is invoked by DAL when it has received a Remove BSS Key
6426 response from the underlying device.
6427
6428 PARAMETERS
6429
6430 IN
6431 wdiStatus: response status received from HAL
6432 pUserData: user data
6433
6434
6435
6436 RETURN VALUE
6437 The result code associated with performing the operation
6438---------------------------------------------------------------------------*/
6439typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6440 void* pUserData);
6441
6442/*---------------------------------------------------------------------------
6443 WDI_StartRspCb
6444
6445 DESCRIPTION
6446
6447 This callback is invoked by DAL when it has received a Set STA Key response
6448 from the underlying device.
6449
6450 PARAMETERS
6451
6452 IN
6453 wdiStatus: response status received from HAL
6454 pUserData: user data
6455
6456
Jeff Johnson295189b2012-06-20 16:38:30 -07006457 RETURN VALUE
6458 The result code associated with performing the operation
6459---------------------------------------------------------------------------*/
6460typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6461 void* pUserData);
6462
Jeff Johnson295189b2012-06-20 16:38:30 -07006463/*---------------------------------------------------------------------------
6464 WDI_StartRspCb
6465
6466 DESCRIPTION
6467
6468 This callback is invoked by DAL when it has received a Remove STA Key
6469 response from the underlying device.
6470
6471 PARAMETERS
6472
6473 IN
6474 wdiStatus: response status received from HAL
6475 pUserData: user data
6476
Siddharth Bhal171788a2014-09-29 21:02:40 +05306477
Jeff Johnson295189b2012-06-20 16:38:30 -07006478 RETURN VALUE
6479 The result code associated with performing the operation
6480---------------------------------------------------------------------------*/
6481typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6482 void* pUserData);
6483
6484
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006485#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006486/*---------------------------------------------------------------------------
6487 WDI_TsmRspCb
6488
6489 DESCRIPTION
6490
6491 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6492
6493 PARAMETERS
6494
6495 IN
6496 pTSMStats: response status received from HAL
6497 pUserData: user data
6498
6499
6500
6501 RETURN VALUE
6502 The result code associated with performing the operation
6503---------------------------------------------------------------------------*/
6504typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6505 void* pUserData);
6506#endif
6507
6508/*---------------------------------------------------------------------------
6509 WDI_StartRspCb
6510
6511 DESCRIPTION
6512
6513 This callback is invoked by DAL when it has received a Add TS response from
6514 the underlying device.
6515
6516 PARAMETERS
6517
6518 IN
6519 wdiStatus: response status received from HAL
6520 pUserData: user data
6521
6522
6523
6524 RETURN VALUE
6525 The result code associated with performing the operation
6526---------------------------------------------------------------------------*/
6527typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6528 void* pUserData);
6529
6530/*---------------------------------------------------------------------------
6531 WDI_StartRspCb
6532
6533 DESCRIPTION
6534
6535 This callback is invoked by DAL when it has received a Del TS response from
6536 the underlying device.
6537
6538 PARAMETERS
6539
6540 IN
6541 wdiStatus: response status received from HAL
6542 pUserData: user data
6543
6544
6545
6546 RETURN VALUE
6547 The result code associated with performing the operation
6548---------------------------------------------------------------------------*/
6549typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6550 void* pUserData);
6551
6552/*---------------------------------------------------------------------------
6553 WDI_StartRspCb
6554
6555 DESCRIPTION
6556
6557 This callback is invoked by DAL when it has received an Update EDCA Params
6558 response from the underlying device.
6559
6560 PARAMETERS
6561
6562 IN
6563 wdiStatus: response status received from HAL
6564 pUserData: user data
6565
6566
6567
6568 RETURN VALUE
6569 The result code associated with performing the operation
6570---------------------------------------------------------------------------*/
6571typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6572 void* pUserData);
6573
6574/*---------------------------------------------------------------------------
6575 WDI_StartRspCb
6576
6577 DESCRIPTION
6578
6579 This callback is invoked by DAL when it has received a Add BA response from
6580 the underlying device.
6581
6582 PARAMETERS
6583
6584 IN
6585 wdiStatus: response status received from HAL
6586 pUserData: user data
6587
6588
6589
6590 RETURN VALUE
6591 The result code associated with performing the operation
6592---------------------------------------------------------------------------*/
6593typedef void (*WDI_AddBASessionRspCb)(
6594 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6595 void* pUserData);
6596
6597
6598/*---------------------------------------------------------------------------
6599 WDI_StartRspCb
6600
6601 DESCRIPTION
6602
6603 This callback is invoked by DAL when it has received a Del BA response from
6604 the underlying device.
6605
6606 PARAMETERS
6607
6608 IN
6609 wdiStatus: response status received from HAL
6610 pUserData: user data
6611
6612
6613
6614 RETURN VALUE
6615 The result code associated with performing the operation
6616---------------------------------------------------------------------------*/
6617typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6618 void* pUserData);
6619
6620
6621/*---------------------------------------------------------------------------
6622 WDI_StartRspCb
6623
6624 DESCRIPTION
6625
6626 This callback is invoked by DAL when it has received a Switch Ch response
6627 from the underlying device.
6628
6629 PARAMETERS
6630
6631 IN
6632 wdiRspParams: response parameters received from HAL
6633 pUserData: user data
6634
6635
6636 RETURN VALUE
6637 The result code associated with performing the operation
6638---------------------------------------------------------------------------*/
6639typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6640 void* pUserData);
6641
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006642typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6643 void* pUserData);
6644
Jeff Johnson295189b2012-06-20 16:38:30 -07006645
6646/*---------------------------------------------------------------------------
6647 WDI_StartRspCb
6648
6649 DESCRIPTION
6650
6651 This callback is invoked by DAL when it has received a Config STA response
6652 from the underlying device.
6653
6654 PARAMETERS
6655
6656 IN
6657 wdiRspParams: response parameters received from HAL
6658 pUserData: user data
6659
6660
6661 RETURN VALUE
6662 The result code associated with performing the operation
6663---------------------------------------------------------------------------*/
6664typedef void (*WDI_ConfigSTARspCb)(
6665 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6666 void* pUserData);
6667
6668
6669/*---------------------------------------------------------------------------
6670 WDI_StartRspCb
6671
6672 DESCRIPTION
6673
6674 This callback is invoked by DAL when it has received a Set Link State
6675 response from the underlying device.
6676
6677 PARAMETERS
6678
6679 IN
6680 wdiRspParams: response parameters received from HAL
6681 pUserData: user data
6682
6683
6684 RETURN VALUE
6685 The result code associated with performing the operation
6686---------------------------------------------------------------------------*/
6687typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6688 void* pUserData);
6689
6690
6691/*---------------------------------------------------------------------------
6692 WDI_StartRspCb
6693
6694 DESCRIPTION
6695
6696 This callback is invoked by DAL when it has received a Get Stats response
6697 from the underlying device.
6698
6699 PARAMETERS
6700
6701 IN
6702 wdiRspParams: response parameters received from HAL
6703 pUserData: user data
6704
6705
6706 RETURN VALUE
6707 The result code associated with performing the operation
6708---------------------------------------------------------------------------*/
6709typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6710 void* pUserData);
6711
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006712#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006713/*---------------------------------------------------------------------------
6714 WDI_GetRoamRssiRspCb
6715
6716 DESCRIPTION
6717
6718 This callback is invoked by DAL when it has received a Get Roam Rssi response
6719 from the underlying device.
6720
6721 PARAMETERS
6722
6723 IN
6724 wdiRspParams: response parameters received from HAL
6725 pUserData: user data
6726
6727
6728 RETURN VALUE
6729 The result code associated with performing the operation
6730---------------------------------------------------------------------------*/
6731typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6732 void* pUserData);
6733#endif
6734
Jeff Johnson295189b2012-06-20 16:38:30 -07006735
6736/*---------------------------------------------------------------------------
6737 WDI_StartRspCb
6738
6739 DESCRIPTION
6740
6741 This callback is invoked by DAL when it has received a Update Cfg response
6742 from the underlying device.
6743
6744 PARAMETERS
6745
6746 IN
6747 wdiStatus: response status received from HAL
6748 pUserData: user data
6749
6750
6751 RETURN VALUE
6752 The result code associated with performing the operation
6753---------------------------------------------------------------------------*/
6754typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6755 void* pUserData);
6756
6757/*---------------------------------------------------------------------------
6758 WDI_AddBARspCb
6759
6760 DESCRIPTION
6761
6762 This callback is invoked by DAL when it has received a ADD BA response
6763 from the underlying device.
6764
6765 PARAMETERS
6766
6767 IN
6768 wdiStatus: response status received from HAL
6769 pUserData: user data
6770
6771
6772 RETURN VALUE
6773 The result code associated with performing the operation
6774---------------------------------------------------------------------------*/
6775typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6776 void* pUserData);
6777
6778/*---------------------------------------------------------------------------
6779 WDI_TriggerBARspCb
6780
6781 DESCRIPTION
6782
6783 This callback is invoked by DAL when it has received a ADD BA response
6784 from the underlying device.
6785
6786 PARAMETERS
6787
6788 IN
6789 wdiStatus: response status received from HAL
6790 pUserData: user data
6791
6792
6793 RETURN VALUE
6794 The result code associated with performing the operation
6795---------------------------------------------------------------------------*/
6796typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6797 void* pUserData);
6798
6799
6800/*---------------------------------------------------------------------------
6801 WDI_UpdateBeaconParamsRspCb
6802
6803 DESCRIPTION
6804
6805 This callback is invoked by DAL when it has received a Update Beacon Params response from
6806 the underlying device.
6807
6808 PARAMETERS
6809
6810 IN
6811 wdiStatus: response status received from HAL
6812 pUserData: user data
6813
6814
6815
6816 RETURN VALUE
6817 The result code associated with performing the operation
6818---------------------------------------------------------------------------*/
6819typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6820 void* pUserData);
6821
6822/*---------------------------------------------------------------------------
6823 WDI_SendBeaconParamsRspCb
6824
6825 DESCRIPTION
6826
6827 This callback is invoked by DAL when it has received a Send Beacon Params response from
6828 the underlying device.
6829
6830 PARAMETERS
6831
6832 IN
6833 wdiStatus: response status received from HAL
6834 pUserData: user data
6835
6836
6837
6838 RETURN VALUE
6839 The result code associated with performing the operation
6840---------------------------------------------------------------------------*/
6841typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6842 void* pUserData);
6843
6844/*---------------------------------------------------------------------------
6845 WDA_SetMaxTxPowerRspCb
6846
6847 DESCRIPTION
6848
6849 This callback is invoked by DAL when it has received a set max Tx Power response from
6850 the underlying device.
6851
6852 PARAMETERS
6853
6854 IN
6855 wdiStatus: response status received from HAL
6856 pUserData: user data
6857
6858
6859
6860 RETURN VALUE
6861 The result code associated with performing the operation
6862---------------------------------------------------------------------------*/
6863typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6864 void* pUserData);
6865
6866/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006867 WDA_SetMaxTxPowerPerBandRspCb
6868
6869 DESCRIPTION
6870
6871 This callback is invoked by DAL when it has received a
6872 set max Tx Power Per Band response from the underlying device.
6873
6874 PARAMETERS
6875
6876 IN
6877 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6878 pUserData: user data
6879
6880 RETURN VALUE
6881 The result code associated with performing the operation
6882---------------------------------------------------------------------------*/
6883typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6884 *wdiSetMaxTxPowerPerBandRsp,
6885 void* pUserData);
6886
6887/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006888 WDA_SetTxPowerRspCb
6889
6890 DESCRIPTION
6891
6892 This callback is invoked by DAL when it has received a set max Tx Power response from
6893 the underlying device.
6894
6895 PARAMETERS
6896
6897 IN
6898 wdiStatus: response status received from HAL
6899 pUserData: user data
6900
6901 RETURN VALUE
6902 The result code associated with performing the operation
6903---------------------------------------------------------------------------*/
6904typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6905 void* pUserData);
6906
6907/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006908 WDI_UpdateProbeRspTemplateRspCb
6909
6910 DESCRIPTION
6911
6912 This callback is invoked by DAL when it has received a Probe RSP Template
6913 Update response from the underlying device.
6914
6915 PARAMETERS
6916
6917 IN
6918 wdiStatus: response status received from HAL
6919 pUserData: user data
6920
6921
6922
6923 RETURN VALUE
6924 The result code associated with performing the operation
6925---------------------------------------------------------------------------*/
6926typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6927 void* pUserData);
6928
Jeff Johnson295189b2012-06-20 16:38:30 -07006929/*---------------------------------------------------------------------------
6930 WDI_SetP2PGONOAReqParamsRspCb
6931
6932 DESCRIPTION
6933
6934 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6935 the underlying device.
6936
6937 PARAMETERS
6938
6939 IN
6940 wdiStatus: response status received from HAL
6941 pUserData: user data
6942
6943
6944
6945 RETURN VALUE
6946 The result code associated with performing the operation
6947---------------------------------------------------------------------------*/
6948typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6949 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006950
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306951/*---------------------------------------------------------------------------
6952 WDI_SetTDLSLinkEstablishReqParamsRspCb
6953
6954 DESCRIPTION
6955
6956 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6957 the underlying device.
6958
6959 PARAMETERS
6960
6961 IN
6962 wdiStatus: response status received from HAL
6963 pUserData: user data
6964
6965
6966
6967 RETURN VALUE
6968 The result code associated with performing the operation
6969---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306970typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6971 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306972 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006973
6974/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306975 WDI_SetTDLSChanSwitchReqParamsRspCb
6976
6977 DESCRIPTION
6978
6979 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6980 the underlying device.
6981
6982 PARAMETERS
6983
6984 IN
6985 wdiStatus: response status received from HAL
6986 pUserData: user data
6987
6988
6989
6990 RETURN VALUE
6991 The result code associated with performing the operation
6992---------------------------------------------------------------------------*/
6993typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6994 wdiSetTdlsChanSwitchReqRsp,
6995 void* pUserData);
6996/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006997 WDI_SetPwrSaveCfgCb
6998
6999 DESCRIPTION
7000
7001 This callback is invoked by DAL when it has received a set Power Save CFG
7002 response from the underlying device.
7003
7004 PARAMETERS
7005
7006 IN
7007 wdiStatus: response status received from HAL
7008 pUserData: user data
7009
7010
7011
7012 RETURN VALUE
7013 The result code associated with performing the operation
7014---------------------------------------------------------------------------*/
7015typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7016 void* pUserData);
7017
7018/*---------------------------------------------------------------------------
7019 WDI_SetUapsdAcParamsCb
7020
7021 DESCRIPTION
7022
7023 This callback is invoked by DAL when it has received a set UAPSD params
7024 response from the underlying device.
7025
7026 PARAMETERS
7027
7028 IN
7029 wdiStatus: response status received from HAL
7030 pUserData: user data
7031
7032
7033
7034 RETURN VALUE
7035 The result code associated with performing the operation
7036---------------------------------------------------------------------------*/
7037typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7038 void* pUserData);
7039
7040/*---------------------------------------------------------------------------
7041 WDI_EnterImpsRspCb
7042
7043 DESCRIPTION
7044
7045 This callback is invoked by DAL when it has received a Enter IMPS response
7046 from the underlying device.
7047
7048 PARAMETERS
7049
7050 IN
7051 wdiStatus: response status received from HAL
7052 pUserData: user data
7053
7054
7055
7056 RETURN VALUE
7057 The result code associated with performing the operation
7058---------------------------------------------------------------------------*/
7059typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7060 void* pUserData);
7061
7062/*---------------------------------------------------------------------------
7063 WDI_ExitImpsRspCb
7064
7065 DESCRIPTION
7066
7067 This callback is invoked by DAL when it has received a Exit IMPS response
7068 from the underlying device.
7069
7070 PARAMETERS
7071
7072 IN
7073 wdiStatus: response status received from HAL
7074 pUserData: user data
7075
7076
7077
7078 RETURN VALUE
7079 The result code associated with performing the operation
7080---------------------------------------------------------------------------*/
7081typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7082 void* pUserData);
7083
7084/*---------------------------------------------------------------------------
7085 WDI_EnterBmpsRspCb
7086
7087 DESCRIPTION
7088
7089 This callback is invoked by DAL when it has received a enter BMPS response
7090 from the underlying device.
7091
7092 PARAMETERS
7093
7094 IN
7095 wdiStatus: response status received from HAL
7096 pUserData: user data
7097
7098
7099
7100 RETURN VALUE
7101 The result code associated with performing the operation
7102---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007103typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007104 void* pUserData);
7105
7106/*---------------------------------------------------------------------------
7107 WDI_ExitBmpsRspCb
7108
7109 DESCRIPTION
7110
7111 This callback is invoked by DAL when it has received a exit BMPS response
7112 from the underlying device.
7113
7114 PARAMETERS
7115
7116 IN
7117 wdiStatus: response status received from HAL
7118 pUserData: user data
7119
7120
7121
7122 RETURN VALUE
7123 The result code associated with performing the operation
7124---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007125typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007126 void* pUserData);
7127
7128/*---------------------------------------------------------------------------
7129 WDI_EnterUapsdRspCb
7130
7131 DESCRIPTION
7132
7133 This callback is invoked by DAL when it has received a enter UAPSD response
7134 from the underlying device.
7135
7136 PARAMETERS
7137
7138 IN
7139 wdiStatus: response status received from HAL
7140 pUserData: user data
7141
7142
7143
7144 RETURN VALUE
7145 The result code associated with performing the operation
7146---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007147typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007148 void* pUserData);
7149
7150/*---------------------------------------------------------------------------
7151 WDI_ExitUapsdRspCb
7152
7153 DESCRIPTION
7154
7155 This callback is invoked by DAL when it has received a exit UAPSD response
7156 from the underlying device.
7157
7158 PARAMETERS
7159
7160 IN
7161 wdiStatus: response status received from HAL
7162 pUserData: user data
7163
7164
7165
7166 RETURN VALUE
7167 The result code associated with performing the operation
7168---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007169typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007170 void* pUserData);
7171
7172/*---------------------------------------------------------------------------
7173 WDI_UpdateUapsdParamsCb
7174
7175 DESCRIPTION
7176
7177 This callback is invoked by DAL when it has received a update UAPSD params
7178 response from the underlying device.
7179
7180 PARAMETERS
7181
7182 IN
7183 wdiStatus: response status received from HAL
7184 pUserData: user data
7185
7186
7187
7188 RETURN VALUE
7189 The result code associated with performing the operation
7190---------------------------------------------------------------------------*/
7191typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7192 void* pUserData);
7193
7194/*---------------------------------------------------------------------------
7195 WDI_ConfigureRxpFilterCb
7196
7197 DESCRIPTION
7198
7199 This callback is invoked by DAL when it has received a config RXP filter
7200 response from the underlying device.
7201
7202 PARAMETERS
7203
7204 IN
7205 wdiStatus: response status received from HAL
7206 pUserData: user data
7207
7208
7209
7210 RETURN VALUE
7211 The result code associated with performing the operation
7212---------------------------------------------------------------------------*/
7213typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7214 void* pUserData);
7215
7216/*---------------------------------------------------------------------------
7217 WDI_SetBeaconFilterCb
7218
7219 DESCRIPTION
7220
7221 This callback is invoked by DAL when it has received a set beacon filter
7222 response from the underlying device.
7223
7224 PARAMETERS
7225
7226 IN
7227 wdiStatus: response status received from HAL
7228 pUserData: user data
7229
7230
7231
7232 RETURN VALUE
7233 The result code associated with performing the operation
7234---------------------------------------------------------------------------*/
7235typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7236 void* pUserData);
7237
7238/*---------------------------------------------------------------------------
7239 WDI_RemBeaconFilterCb
7240
7241 DESCRIPTION
7242
7243 This callback is invoked by DAL when it has received a remove beacon filter
7244 response from the underlying device.
7245
7246 PARAMETERS
7247
7248 IN
7249 wdiStatus: response status received from HAL
7250 pUserData: user data
7251
7252
7253
7254 RETURN VALUE
7255 The result code associated with performing the operation
7256---------------------------------------------------------------------------*/
7257typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7258 void* pUserData);
7259
7260/*---------------------------------------------------------------------------
7261 WDI_SetRSSIThresholdsCb
7262
7263 DESCRIPTION
7264
7265 This callback is invoked by DAL when it has received a set RSSI thresholds
7266 response from the underlying device.
7267
7268 PARAMETERS
7269
7270 IN
7271 wdiStatus: response status received from HAL
7272 pUserData: user data
7273
7274
7275
7276 RETURN VALUE
7277 The result code associated with performing the operation
7278---------------------------------------------------------------------------*/
7279typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7280 void* pUserData);
7281
7282/*---------------------------------------------------------------------------
7283 WDI_HostOffloadCb
7284
7285 DESCRIPTION
7286
7287 This callback is invoked by DAL when it has received a host offload
7288 response from the underlying device.
7289
7290 PARAMETERS
7291
7292 IN
7293 wdiStatus: response status received from HAL
7294 pUserData: user data
7295
7296
7297
7298 RETURN VALUE
7299 The result code associated with performing the operation
7300---------------------------------------------------------------------------*/
7301typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7302 void* pUserData);
7303
7304/*---------------------------------------------------------------------------
7305 WDI_KeepAliveCb
7306
7307 DESCRIPTION
7308
7309 This callback is invoked by DAL when it has received a Keep Alive
7310 response from the underlying device.
7311
7312 PARAMETERS
7313
7314 IN
7315 wdiStatus: response status received from HAL
7316 pUserData: user data
7317
7318
7319
7320 RETURN VALUE
7321 The result code associated with performing the operation
7322---------------------------------------------------------------------------*/
7323typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7324 void* pUserData);
7325
7326/*---------------------------------------------------------------------------
7327 WDI_WowlAddBcPtrnCb
7328
7329 DESCRIPTION
7330
7331 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7332 response from the underlying device.
7333
7334 PARAMETERS
7335
7336 IN
7337 wdiStatus: response status received from HAL
7338 pUserData: user data
7339
7340
7341
7342 RETURN VALUE
7343 The result code associated with performing the operation
7344---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007345typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007346 void* pUserData);
7347
7348/*---------------------------------------------------------------------------
7349 WDI_WowlDelBcPtrnCb
7350
7351 DESCRIPTION
7352
7353 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7354 response from the underlying device.
7355
7356 PARAMETERS
7357
7358 IN
7359 wdiStatus: response status received from HAL
7360 pUserData: user data
7361
7362
7363
7364 RETURN VALUE
7365 The result code associated with performing the operation
7366---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007367typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007368 void* pUserData);
7369
7370/*---------------------------------------------------------------------------
7371 WDI_WowlEnterReqCb
7372
7373 DESCRIPTION
7374
7375 This callback is invoked by DAL when it has received a Wowl enter
7376 response from the underlying device.
7377
7378 PARAMETERS
7379
7380 IN
7381 wdiStatus: response status received from HAL
7382 pUserData: user data
7383
7384
7385
7386 RETURN VALUE
7387 The result code associated with performing the operation
7388---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007389typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7390 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007391
7392/*---------------------------------------------------------------------------
7393 WDI_WowlExitReqCb
7394
7395 DESCRIPTION
7396
7397 This callback is invoked by DAL when it has received a Wowl exit
7398 response from the underlying device.
7399
7400 PARAMETERS
7401
7402 IN
7403 wdiStatus: response status received from HAL
7404 pUserData: user data
7405
7406
7407
7408 RETURN VALUE
7409 The result code associated with performing the operation
7410---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007411typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007412 void* pUserData);
7413
7414/*---------------------------------------------------------------------------
7415 WDI_ConfigureAppsCpuWakeupStateCb
7416
7417 DESCRIPTION
7418
7419 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7420 State response from the underlying device.
7421
7422 PARAMETERS
7423
7424 IN
7425 wdiStatus: response status received from HAL
7426 pUserData: user data
7427
7428
7429
7430 RETURN VALUE
7431 The result code associated with performing the operation
7432---------------------------------------------------------------------------*/
7433typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7434 void* pUserData);
7435/*---------------------------------------------------------------------------
7436 WDI_NvDownloadRspCb
7437
7438 DESCRIPTION
7439
7440 This callback is invoked by DAL when it has received a NV Download response
7441 from the underlying device.
7442
7443 PARAMETERS
7444
7445 IN
7446 wdiStatus:response status received from HAL
7447 pUserData:user data
7448
7449 RETURN VALUE
7450 The result code associated with performing the operation
7451---------------------------------------------------------------------------*/
7452typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7453 void* pUserData);
7454/*---------------------------------------------------------------------------
7455 WDI_FlushAcRspCb
7456
7457 DESCRIPTION
7458
7459 This callback is invoked by DAL when it has received a Flush AC response from
7460 the underlying device.
7461
7462 PARAMETERS
7463
7464 IN
7465 wdiStatus: response status received from HAL
7466 pUserData: user data
7467
7468
7469
7470 RETURN VALUE
7471 The result code associated with performing the operation
7472---------------------------------------------------------------------------*/
7473typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7474 void* pUserData);
7475
7476/*---------------------------------------------------------------------------
7477 WDI_BtAmpEventRspCb
7478
7479 DESCRIPTION
7480
7481 This callback is invoked by DAL when it has received a Bt AMP event response
7482 from the underlying device.
7483
7484 PARAMETERS
7485
7486 IN
7487 wdiStatus: response status received from HAL
7488 pUserData: user data
7489
7490
7491
7492 RETURN VALUE
7493 The result code associated with performing the operation
7494---------------------------------------------------------------------------*/
7495typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7496 void* pUserData);
7497
Jeff Johnsone7245742012-09-05 17:12:55 -07007498#ifdef FEATURE_OEM_DATA_SUPPORT
7499/*---------------------------------------------------------------------------
7500 WDI_oemDataRspCb
7501
7502 DESCRIPTION
7503
7504 This callback is invoked by DAL when it has received a Start oem data response from
7505 the underlying device.
7506
7507 PARAMETERS
7508
7509 IN
7510 wdiStatus: response status received from HAL
7511 pUserData: user data
7512
7513
7514
7515 RETURN VALUE
7516 The result code associated with performing the operation
7517---------------------------------------------------------------------------*/
7518typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7519 void* pUserData);
7520
7521#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007522
7523/*---------------------------------------------------------------------------
7524 WDI_HostResumeEventRspCb
7525
7526 DESCRIPTION
7527
7528 This callback is invoked by DAL when it has received a Bt AMP event response
7529 from the underlying device.
7530
7531 PARAMETERS
7532
7533 IN
7534 wdiStatus: response status received from HAL
7535 pUserData: user data
7536
7537
7538
7539 RETURN VALUE
7540 The result code associated with performing the operation
7541---------------------------------------------------------------------------*/
7542typedef void (*WDI_HostResumeEventRspCb)(
7543 WDI_SuspendResumeRspParamsType *resumeRspParams,
7544 void* pUserData);
7545
7546
7547#ifdef WLAN_FEATURE_VOWIFI_11R
7548/*---------------------------------------------------------------------------
7549 WDI_AggrAddTsRspCb
7550
7551 DESCRIPTION
7552
7553 This callback is invoked by DAL when it has received a Aggregated Add TS
7554 response from the underlying device.
7555
7556 PARAMETERS
7557
7558 IN
7559 wdiStatus: response status received from HAL
7560 pUserData: user data
7561
7562
7563
7564 RETURN VALUE
7565 The result code associated with performing the operation
7566---------------------------------------------------------------------------*/
7567typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7568 void* pUserData);
7569#endif /* WLAN_FEATURE_VOWIFI_11R */
7570
Jeff Johnson295189b2012-06-20 16:38:30 -07007571/*---------------------------------------------------------------------------
7572 WDI_FTMCommandRspCb
7573
7574 DESCRIPTION
7575
7576 FTM Command response CB
7577
7578 PARAMETERS
7579
7580 IN
7581 ftmCMDRspdata: FTM response data from HAL
7582 pUserData: user data
7583
7584
7585 RETURN VALUE
7586 NONE
7587---------------------------------------------------------------------------*/
7588typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7589 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007590
7591/*---------------------------------------------------------------------------
7592 WDI_AddSTASelfParamsRspCb
7593
7594 DESCRIPTION
7595
7596 This callback is invoked by DAL when it has received a Add Sta Self Params
7597 response from the underlying device.
7598
7599 PARAMETERS
7600
7601 IN
7602 wdiAddSelfSTARsp: response status received from HAL
7603 pUserData: user data
7604
7605
7606
7607 RETURN VALUE
7608 The result code associated with performing the operation
7609---------------------------------------------------------------------------*/
7610typedef void (*WDI_AddSTASelfParamsRspCb)(
7611 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7612 void* pUserData);
7613
7614
7615/*---------------------------------------------------------------------------
7616 WDI_DelSTASelfRspCb
7617
7618 DESCRIPTION
7619
7620 This callback is invoked by DAL when it has received a host offload
7621 response from the underlying device.
7622
7623 PARAMETERS
7624
7625 IN
7626 wdiStatus: response status received from HAL
7627 pUserData: user data
7628
7629
7630
7631 RETURN VALUE
7632 The result code associated with performing the operation
7633---------------------------------------------------------------------------*/
7634typedef void (*WDI_DelSTASelfRspCb)
7635(
7636WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7637void* pUserData
7638);
7639
7640#ifdef FEATURE_WLAN_SCAN_PNO
7641/*---------------------------------------------------------------------------
7642 WDI_PNOScanCb
7643
7644 DESCRIPTION
7645
7646 This callback is invoked by DAL when it has received a Set PNO
7647 response from the underlying device.
7648
7649 PARAMETERS
7650
7651 IN
7652 wdiStatus: response status received from HAL
7653 pUserData: user data
7654
7655
7656
7657 RETURN VALUE
7658 The result code associated with performing the operation
7659---------------------------------------------------------------------------*/
7660typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7661 void* pUserData);
7662
7663/*---------------------------------------------------------------------------
7664 WDI_PNOScanCb
7665
7666 DESCRIPTION
7667
7668 This callback is invoked by DAL when it has received a Set PNO
7669 response from the underlying device.
7670
7671 PARAMETERS
7672
7673 IN
7674 wdiStatus: response status received from HAL
7675 pUserData: user data
7676
7677
7678
7679 RETURN VALUE
7680 The result code associated with performing the operation
7681---------------------------------------------------------------------------*/
7682typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7683 void* pUserData);
7684
7685/*---------------------------------------------------------------------------
7686 WDI_UpdateScanParamsCb
7687
7688 DESCRIPTION
7689
7690 This callback is invoked by DAL when it has received a Update Scan Params
7691 response from the underlying device.
7692
7693 PARAMETERS
7694
7695 IN
7696 wdiStatus: response status received from HAL
7697 pUserData: user data
7698
7699
7700
7701 RETURN VALUE
7702 The result code associated with performing the operation
7703---------------------------------------------------------------------------*/
7704typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7705 void* pUserData);
7706#endif // FEATURE_WLAN_SCAN_PNO
7707
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007708typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7709 void* pUserData);
7710
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007711#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7712/*---------------------------------------------------------------------------
7713 WDI_RoamOffloadScanCb
7714
7715 DESCRIPTION
7716
7717 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7718 response from the underlying device.
7719
7720 PARAMETERS
7721
7722 IN
7723 wdiStatus: response status received from HAL
7724 pUserData: user data
7725
7726
7727
7728 RETURN VALUE
7729 The result code associated with performing the operation
7730---------------------------------------------------------------------------*/
7731typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7732 void* pUserData);
7733
7734#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007735/*---------------------------------------------------------------------------
7736 WDI_SetTxPerTrackingRspCb
7737
7738 DESCRIPTION
7739
7740 This callback is invoked by DAL when it has received a Tx PER Tracking
7741 response from the underlying device.
7742
7743 PARAMETERS
7744
7745 IN
7746 wdiStatus: response status received from HAL
7747 pUserData: user data
7748
7749
7750
7751 RETURN VALUE
7752 The result code associated with performing the operation
7753---------------------------------------------------------------------------*/
7754typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7755 void* pUserData);
7756
7757#ifdef WLAN_FEATURE_PACKET_FILTERING
7758/*---------------------------------------------------------------------------
7759 WDI_8023MulticastListCb
7760
7761 DESCRIPTION
7762
7763 This callback is invoked by DAL when it has received a 8023 Multicast List
7764 response from the underlying device.
7765
7766 PARAMETERS
7767
7768 IN
7769 wdiStatus: response status received from HAL
7770 pUserData: user data
7771
7772
7773
7774 RETURN VALUE
7775 The result code associated with performing the operation
7776---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007777typedef void (*WDI_8023MulticastListCb)(
7778 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7779 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007780
7781/*---------------------------------------------------------------------------
7782 WDI_ReceiveFilterSetFilterCb
7783
7784 DESCRIPTION
7785
7786 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7787 response from the underlying device.
7788
7789 PARAMETERS
7790
7791 IN
7792 wdiStatus: response status received from HAL
7793 pUserData: user data
7794
7795
7796
7797 RETURN VALUE
7798 The result code associated with performing the operation
7799---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007800typedef void (*WDI_ReceiveFilterSetFilterCb)(
7801 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7802 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007803
7804/*---------------------------------------------------------------------------
7805 WDI_FilterMatchCountCb
7806
7807 DESCRIPTION
7808
7809 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7810 response from the underlying device.
7811
7812 PARAMETERS
7813
7814 IN
7815 wdiStatus: response status received from HAL
7816 pUserData: user data
7817
7818
7819
7820 RETURN VALUE
7821 The result code associated with performing the operation
7822---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007823typedef void (*WDI_FilterMatchCountCb)(
7824 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7825 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007826
7827/*---------------------------------------------------------------------------
7828 WDI_ReceiveFilterClearFilterCb
7829
7830 DESCRIPTION
7831
7832 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7833 response from the underlying device.
7834
7835 PARAMETERS
7836
7837 IN
7838 wdiStatus: response status received from HAL
7839 pUserData: user data
7840
7841
7842
7843 RETURN VALUE
7844 The result code associated with performing the operation
7845---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007846typedef void (*WDI_ReceiveFilterClearFilterCb)(
7847 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7848 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007849#endif // WLAN_FEATURE_PACKET_FILTERING
7850
7851/*---------------------------------------------------------------------------
7852 WDI_HALDumpCmdRspCb
7853
7854 DESCRIPTION
7855
7856 This callback is invoked by DAL when it has received a HAL DUMP Command
7857response from
7858 the HAL layer.
7859
7860 PARAMETERS
7861
7862 IN
7863 wdiHalDumpCmdRsp: response status received from HAL
7864 pUserData: user data
7865
7866
7867
7868 RETURN VALUE
7869 The result code associated with performing the operation
7870---------------------------------------------------------------------------*/
7871typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7872 void* pUserData);
7873
7874/*---------------------------------------------------------------------------
7875 WDI_SetPowerParamsCb
7876
7877 DESCRIPTION
7878
7879 This callback is invoked by DAL when it has received a Set Power Param
7880 response from the underlying device.
7881
7882 PARAMETERS
7883
7884 IN
7885 wdiStatus: response status received from HAL
7886 pUserData: user data
7887
7888
7889
7890 RETURN VALUE
7891 The result code associated with performing the operation
7892---------------------------------------------------------------------------*/
7893typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7894 void* pUserData);
7895
7896#ifdef WLAN_FEATURE_GTK_OFFLOAD
7897/*---------------------------------------------------------------------------
7898 WDI_GtkOffloadCb
7899
7900 DESCRIPTION
7901
7902 This callback is invoked by DAL when it has received a GTK offload
7903 response from the underlying device.
7904
7905 PARAMETERS
7906
7907 IN
7908 wdiStatus: response status received from HAL
7909 pUserData: user data
7910
7911
7912
7913 RETURN VALUE
7914 The result code associated with performing the operation
7915---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007916typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007917 void* pUserData);
7918
7919/*---------------------------------------------------------------------------
7920 WDI_GtkOffloadGetInfoCb
7921
7922 DESCRIPTION
7923
7924 This callback is invoked by DAL when it has received a GTK offload
7925 information response from the underlying device.
7926
7927 PARAMETERS
7928
7929 IN
7930 wdiStatus: response status received from HAL
7931 pUserData: user data
7932
7933
7934
7935 RETURN VALUE
7936 The result code associated with performing the operation
7937---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007938typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007939 void* pUserData);
7940#endif // WLAN_FEATURE_GTK_OFFLOAD
7941
7942/*---------------------------------------------------------------------------
7943 WDI_SetTmLevelCb
7944
7945 DESCRIPTION
7946
7947 This callback is invoked by DAL when it has received a Set New TM Level
7948 done response from the underlying device.
7949
7950 PARAMETERS
7951
7952 IN
7953 wdiStatus: response status received from HAL
7954 pUserData: user data
7955
7956
7957
7958 RETURN VALUE
7959 The result code associated with performing the operation
7960---------------------------------------------------------------------------*/
7961typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7962 void* pUserData);
7963
7964/*---------------------------------------------------------------------------
7965 WDI_featureCapsExchangeCb
7966
7967 DESCRIPTION
7968
7969 This callback is invoked by DAL when it has received a HAL Feature Capbility
7970 Exchange Response the HAL layer. This callback is put to mantain code
7971 similarity and is not being used right now.
7972
7973 PARAMETERS
7974
7975 IN
7976 wdiFeatCapRspParams: response parameters received from HAL
7977 pUserData: user data
7978
7979 RETURN VALUE
7980 The result code associated with performing the operation
7981---------------------------------------------------------------------------*/
7982typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7983 void* pUserData);
7984
Mohit Khanna4a70d262012-09-11 16:30:12 -07007985#ifdef WLAN_FEATURE_11AC
7986typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7987 void* pUserData);
7988#endif
7989
Leo Chang9056f462013-08-01 19:21:11 -07007990#ifdef FEATURE_WLAN_LPHB
7991typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7992 void* pUserData);
7993#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007994
Rajeev79dbe4c2013-10-05 11:03:42 +05307995#ifdef FEATURE_WLAN_BATCH_SCAN
7996/*---------------------------------------------------------------------------
7997 WDI_SetBatchScanCb
7998
7999 DESCRIPTION
8000
8001 This callback is invoked by DAL when it has received a get batch scan
8002 response from the underlying device.
8003
8004 PARAMETERS
8005
8006 IN
8007 wdiStatus: response status received from HAL
8008 pUserData: user data
8009
8010
8011
8012 RETURN VALUE
8013 The result code associated with performing the operation
8014---------------------------------------------------------------------------*/
8015typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8016
8017#endif
8018
c_hpothu92367912014-05-01 15:18:17 +05308019typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8020 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308021
Dino Mycle41bdc942014-06-10 11:30:24 +05308022#ifdef WLAN_FEATURE_EXTSCAN
8023typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8024 void *pUserData);
8025typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8026 void *pUserData);
8027typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8028 void *pUserData);
8029typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8030 void *pUserData);
8031typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8032 void *pUserData);
8033typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8034 void *pUserData);
8035typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
8036 void *pUserData);
8037typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
8038 void *pUserData);
8039#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308040
8041#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8042typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8043 void *pUserData);
8044typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8045 void *pUserData);
8046typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8047 void *pUserData);
8048#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308049
8050typedef void (*WDI_SetSpoofMacAddrRspCb)(
8051 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308052
Abhishek Singh85b74712014-10-08 11:38:19 +05308053typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8054 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308055
8056typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308057typedef void (*WDI_FWLoggingInitRspCb)(
8058 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308059typedef void (*WDI_GetFrameLogRspCb)(
8060 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308061typedef void (*WDI_FatalEventLogsRspCb)(
8062 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308063
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +05308064typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
Katya Nigamf0511f62015-05-05 16:40:57 +05308065
Jeff Johnson295189b2012-06-20 16:38:30 -07008066/*========================================================================
8067 * Function Declarations and Documentation
8068 ==========================================================================*/
8069
8070/*========================================================================
8071
8072 INITIALIZATION APIs
8073
8074==========================================================================*/
8075
8076/**
8077 @brief WDI_Init is used to initialize the DAL.
8078
8079 DAL will allocate all the resources it needs. It will open PAL, it will also
8080 open both the data and the control transport which in their turn will open
8081 DXE/SMD or any other drivers that they need.
8082
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308083 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008084 ppWDIGlobalCtx: output pointer of Global Context
8085 pWdiDevCapability: output pointer of device capability
8086
8087 @return Result of the function call
8088*/
8089WDI_Status
8090WDI_Init
8091(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308092 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008093 void** ppWDIGlobalCtx,
8094 WDI_DeviceCapabilityType* pWdiDevCapability,
8095 unsigned int driverType
8096);
8097
8098/**
8099 @brief WDI_Start will be called when the upper MAC is ready to
8100 commence operation with the WLAN Device. Upon the call
8101 of this API the WLAN DAL will pack and send a HAL Start
8102 message to the lower RIVA sub-system if the SMD channel
8103 has been fully opened and the RIVA subsystem is up.
8104
8105 If the RIVA sub-system is not yet up and running DAL
8106 will queue the request for Open and will wait for the
8107 SMD notification before attempting to send down the
8108 message to HAL.
8109
8110 WDI_Init must have been called.
8111
8112 @param wdiStartParams: the start parameters as specified by
8113 the Device Interface
8114
8115 wdiStartRspCb: callback for passing back the response of
8116 the start operation received from the device
8117
8118 pUserData: user data will be passed back with the
8119 callback
8120
8121 @see WDI_Start
8122 @return Result of the function call
8123*/
8124WDI_Status
8125WDI_Start
8126(
8127 WDI_StartReqParamsType* pwdiStartParams,
8128 WDI_StartRspCb wdiStartRspCb,
8129 void* pUserData
8130);
8131
8132
8133/**
8134 @brief WDI_Stop will be called when the upper MAC is ready to
8135 stop any operation with the WLAN Device. Upon the call
8136 of this API the WLAN DAL will pack and send a HAL Stop
8137 message to the lower RIVA sub-system if the DAL Core is
8138 in started state.
8139
8140 In state BUSY this request will be queued.
8141
8142 Request will not be accepted in any other state.
8143
8144 WDI_Start must have been called.
8145
8146 @param wdiStopParams: the stop parameters as specified by
8147 the Device Interface
8148
8149 wdiStopRspCb: callback for passing back the response of
8150 the stop operation received from the device
8151
8152 pUserData: user data will be passed back with the
8153 callback
8154
8155 @see WDI_Start
8156 @return Result of the function call
8157*/
8158WDI_Status
8159WDI_Stop
8160(
8161 WDI_StopReqParamsType* pwdiStopParams,
8162 WDI_StopRspCb wdiStopRspCb,
8163 void* pUserData
8164);
8165
8166/**
8167 @brief WDI_Close will be called when the upper MAC no longer
8168 needs to interract with DAL. DAL will free its control
8169 block.
8170
8171 It is only accepted in state STOPPED.
8172
8173 WDI_Stop must have been called.
8174
8175 @param none
8176
8177 @see WDI_Stop
8178 @return Result of the function call
8179*/
8180WDI_Status
8181WDI_Close
8182(
8183 void
8184);
8185
8186
8187/**
8188 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8189 This will do most of the WDI stop & close
8190 operations without doing any handshake with Riva
8191
8192 This will also make sure that the control transport
8193 will NOT be closed.
8194
8195 This request will not be queued.
8196
8197
8198 WDI_Start must have been called.
8199
8200 @param closeTransport: Close control channel if this is set
8201
8202 @return Result of the function call
8203*/
8204WDI_Status
8205WDI_Shutdown
8206(
8207 wpt_boolean closeTransport
8208);
8209
8210/*========================================================================
8211
8212 SCAN APIs
8213
8214==========================================================================*/
8215
8216/**
8217 @brief WDI_InitScanReq will be called when the upper MAC wants
8218 the WLAN Device to get ready for a scan procedure. Upon
8219 the call of this API the WLAN DAL will pack and send a
8220 HAL Init Scan request message to the lower RIVA
8221 sub-system if DAL is in state STARTED.
8222
8223 In state BUSY this request will be queued. Request won't
8224 be allowed in any other state.
8225
8226 WDI_Start must have been called.
8227
8228 @param wdiInitScanParams: the init scan parameters as specified
8229 by the Device Interface
8230
8231 wdiInitScanRspCb: callback for passing back the response
8232 of the init scan operation received from the device
8233
8234 pUserData: user data will be passed back with the
8235 callback
8236
8237 @see WDI_Start
8238 @return Result of the function call
8239*/
8240WDI_Status
8241WDI_InitScanReq
8242(
8243 WDI_InitScanReqParamsType* pwdiInitScanParams,
8244 WDI_InitScanRspCb wdiInitScanRspCb,
8245 void* pUserData
8246);
8247
8248/**
8249 @brief WDI_StartScanReq will be called when the upper MAC
8250 wishes to change the Scan channel on the WLAN Device.
8251 Upon the call of this API the WLAN DAL will pack and
8252 send a HAL Start Scan request message to the lower RIVA
8253 sub-system if DAL is in state STARTED.
8254
8255 In state BUSY this request will be queued. Request won't
8256 be allowed in any other state.
8257
8258 WDI_InitScanReq must have been called.
8259
8260 @param wdiStartScanParams: the start scan parameters as
8261 specified by the Device Interface
8262
8263 wdiStartScanRspCb: callback for passing back the
8264 response of the start scan operation received from the
8265 device
8266
8267 pUserData: user data will be passed back with the
8268 callback
8269
8270 @see WDI_InitScanReq
8271 @return Result of the function call
8272*/
8273WDI_Status
8274WDI_StartScanReq
8275(
8276 WDI_StartScanReqParamsType* pwdiStartScanParams,
8277 WDI_StartScanRspCb wdiStartScanRspCb,
8278 void* pUserData
8279);
8280
8281
8282/**
8283 @brief WDI_EndScanReq will be called when the upper MAC is
8284 wants to end scanning for a particular channel that it
8285 had set before by calling Scan Start on the WLAN Device.
8286 Upon the call of this API the WLAN DAL will pack and
8287 send a HAL End Scan request message to the lower RIVA
8288 sub-system if DAL is in state STARTED.
8289
8290 In state BUSY this request will be queued. Request won't
8291 be allowed in any other state.
8292
8293 WDI_StartScanReq must have been called.
8294
8295 @param wdiEndScanParams: the end scan parameters as specified
8296 by the Device Interface
8297
8298 wdiEndScanRspCb: callback for passing back the response
8299 of the end scan operation received from the device
8300
8301 pUserData: user data will be passed back with the
8302 callback
8303
8304 @see WDI_StartScanReq
8305 @return Result of the function call
8306*/
8307WDI_Status
8308WDI_EndScanReq
8309(
8310 WDI_EndScanReqParamsType* pwdiEndScanParams,
8311 WDI_EndScanRspCb wdiEndScanRspCb,
8312 void* pUserData
8313);
8314
8315
8316/**
8317 @brief WDI_FinishScanReq will be called when the upper MAC has
8318 completed the scan process on the WLAN Device. Upon the
8319 call of this API the WLAN DAL will pack and send a HAL
8320 Finish Scan Request request message to the lower RIVA
8321 sub-system if DAL is in state STARTED.
8322
8323 In state BUSY this request will be queued. Request won't
8324 be allowed in any other state.
8325
8326 WDI_InitScanReq must have been called.
8327
8328 @param wdiFinishScanParams: the finish scan parameters as
8329 specified by the Device Interface
8330
8331 wdiFinishScanRspCb: callback for passing back the
8332 response of the finish scan operation received from the
8333 device
8334
8335 pUserData: user data will be passed back with the
8336 callback
8337
8338 @see WDI_InitScanReq
8339 @return Result of the function call
8340*/
8341WDI_Status
8342WDI_FinishScanReq
8343(
8344 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8345 WDI_FinishScanRspCb wdiFinishScanRspCb,
8346 void* pUserData
8347);
8348
8349/*========================================================================
8350
8351 ASSOCIATION APIs
8352
8353==========================================================================*/
8354
8355/**
8356 @brief WDI_JoinReq will be called when the upper MAC is ready
8357 to start an association procedure to a BSS. Upon the
8358 call of this API the WLAN DAL will pack and send a HAL
8359 Join request message to the lower RIVA sub-system if
8360 DAL is in state STARTED.
8361
8362 In state BUSY this request will be queued. Request won't
8363 be allowed in any other state.
8364
8365 WDI_Start must have been called.
8366
8367 @param wdiJoinParams: the join parameters as specified by
8368 the Device Interface
8369
8370 wdiJoinRspCb: callback for passing back the response of
8371 the join operation received from the device
8372
8373 pUserData: user data will be passed back with the
8374 callback
8375
8376 @see WDI_Start
8377 @return Result of the function call
8378*/
8379WDI_Status
8380WDI_JoinReq
8381(
8382 WDI_JoinReqParamsType* pwdiJoinParams,
8383 WDI_JoinRspCb wdiJoinRspCb,
8384 void* pUserData
8385);
8386
8387/**
8388 @brief WDI_ConfigBSSReq will be called when the upper MAC
8389 wishes to configure the newly acquired or in process of
8390 being acquired BSS to the HW . Upon the call of this API
8391 the WLAN DAL will pack and send a HAL Config BSS request
8392 message to the lower RIVA sub-system if DAL is in state
8393 STARTED.
8394
8395 In state BUSY this request will be queued. Request won't
8396 be allowed in any other state.
8397
8398 WDI_JoinReq must have been called.
8399
8400 @param wdiConfigBSSParams: the config BSS parameters as
8401 specified by the Device Interface
8402
8403 wdiConfigBSSRspCb: callback for passing back the
8404 response of the config BSS operation received from the
8405 device
8406
8407 pUserData: user data will be passed back with the
8408 callback
8409
8410 @see WDI_JoinReq
8411 @return Result of the function call
8412*/
8413WDI_Status
8414WDI_ConfigBSSReq
8415(
8416 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8417 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8418 void* pUserData
8419);
8420
8421/**
8422 @brief WDI_DelBSSReq will be called when the upper MAC is
8423 dissasociating from the BSS and wishes to notify HW.
8424 Upon the call of this API the WLAN DAL will pack and
8425 send a HAL Del BSS request message to the lower RIVA
8426 sub-system if DAL is in state STARTED.
8427
8428 In state BUSY this request will be queued. Request won't
8429 be allowed in any other state.
8430
8431 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8432
8433 @param wdiDelBSSParams: the del BSS parameters as specified by
8434 the Device Interface
8435
8436 wdiDelBSSRspCb: callback for passing back the response
8437 of the del bss operation received from the device
8438
8439 pUserData: user data will be passed back with the
8440 callback
8441
8442 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8443 @return Result of the function call
8444*/
8445WDI_Status
8446WDI_DelBSSReq
8447(
8448 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8449 WDI_DelBSSRspCb wdiDelBSSRspCb,
8450 void* pUserData
8451);
8452
8453/**
8454 @brief WDI_PostAssocReq will be called when the upper MAC has
8455 associated to a BSS and wishes to configure HW for
8456 associated state. Upon the call of this API the WLAN DAL
8457 will pack and send a HAL Post Assoc request message to
8458 the lower RIVA sub-system if DAL is in state STARTED.
8459
8460 In state BUSY this request will be queued. Request won't
8461 be allowed in any other state.
8462
8463 WDI_JoinReq must have been called.
8464
8465 @param wdiPostAssocReqParams: the assoc parameters as specified
8466 by the Device Interface
8467
8468 wdiPostAssocRspCb: callback for passing back the
8469 response of the post assoc operation received from the
8470 device
8471
8472 pUserData: user data will be passed back with the
8473 callback
8474
8475 @see WDI_JoinReq
8476 @return Result of the function call
8477*/
8478WDI_Status
8479WDI_PostAssocReq
8480(
8481 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8482 WDI_PostAssocRspCb wdiPostAssocRspCb,
8483 void* pUserData
8484);
8485
8486/**
8487 @brief WDI_DelSTAReq will be called when the upper MAC when an
8488 association with another STA has ended and the station
8489 must be deleted from HW. Upon the call of this API the
8490 WLAN DAL will pack and send a HAL Del STA request
8491 message to the lower RIVA sub-system if DAL is in state
8492 STARTED.
8493
8494 In state BUSY this request will be queued. Request won't
8495 be allowed in any other state.
8496
8497 WDI_PostAssocReq must have been called.
8498
8499 @param wdiDelSTAParams: the Del STA parameters as specified by
8500 the Device Interface
8501
8502 wdiDelSTARspCb: callback for passing back the response
8503 of the del STA operation received from the device
8504
8505 pUserData: user data will be passed back with the
8506 callback
8507
8508 @see WDI_PostAssocReq
8509 @return Result of the function call
8510*/
8511WDI_Status
8512WDI_DelSTAReq
8513(
8514 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8515 WDI_DelSTARspCb wdiDelSTARspCb,
8516 void* pUserData
8517);
8518
8519/*========================================================================
8520
8521 SECURITY APIs
8522
8523==========================================================================*/
8524
8525/**
8526 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8527 install a BSS encryption key on the HW. Upon the call of
8528 this API the WLAN DAL will pack and send a HAL Start
8529 request message to the lower RIVA sub-system if DAL is
8530 in state STARTED.
8531
8532 In state BUSY this request will be queued. Request won't
8533 be allowed in any other state.
8534
8535 WDI_PostAssocReq must have been called.
8536
8537 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8538 specified by the Device Interface
8539
8540 wdiSetBSSKeyRspCb: callback for passing back the
8541 response of the set BSS Key operation received from the
8542 device
8543
8544 pUserData: user data will be passed back with the
8545 callback
8546
8547 @see WDI_PostAssocReq
8548 @return Result of the function call
8549*/
8550WDI_Status
8551WDI_SetBSSKeyReq
8552(
8553 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8554 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8555 void* pUserData
8556);
8557
8558
8559/**
8560 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8561 uninstall a BSS key from HW. Upon the call of this API
8562 the WLAN DAL will pack and send a HAL Remove BSS Key
8563 request message to the lower RIVA sub-system if DAL is
8564 in state STARTED.
8565
8566 In state BUSY this request will be queued. Request won't
8567 be allowed in any other state.
8568
8569 WDI_SetBSSKeyReq must have been called.
8570
8571 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8572 specified by the Device Interface
8573
8574 wdiRemoveBSSKeyRspCb: callback for passing back the
8575 response of the remove BSS key operation received from
8576 the device
8577
8578 pUserData: user data will be passed back with the
8579 callback
8580
8581 @see WDI_SetBSSKeyReq
8582 @return Result of the function call
8583*/
8584WDI_Status
8585WDI_RemoveBSSKeyReq
8586(
8587 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8588 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8589 void* pUserData
8590);
8591
8592
8593/**
8594 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8595 ready to install a STA(ast) encryption key in HW. Upon
8596 the call of this API the WLAN DAL will pack and send a
8597 HAL Set STA Key request message to the lower RIVA
8598 sub-system if DAL is in state STARTED.
8599
8600 In state BUSY this request will be queued. Request won't
8601 be allowed in any other state.
8602
8603 WDI_PostAssocReq must have been called.
8604
8605 @param wdiSetSTAKeyParams: the set STA key parameters as
8606 specified by the Device Interface
8607
8608 wdiSetSTAKeyRspCb: callback for passing back the
8609 response of the set STA key operation received from the
8610 device
8611
8612 pUserData: user data will be passed back with the
8613 callback
8614
8615 @see WDI_PostAssocReq
8616 @return Result of the function call
8617*/
8618WDI_Status
8619WDI_SetSTAKeyReq
8620(
8621 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8622 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8623 void* pUserData
8624);
8625
8626
8627/**
8628 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8629 wants to unistall a previously set STA key in HW. Upon
8630 the call of this API the WLAN DAL will pack and send a
8631 HAL Remove STA Key request message to the lower RIVA
8632 sub-system if DAL is in state STARTED.
8633
8634 In state BUSY this request will be queued. Request won't
8635 be allowed in any other state.
8636
8637 WDI_SetSTAKeyReq must have been called.
8638
8639 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8640 specified by the Device Interface
8641
8642 wdiRemoveSTAKeyRspCb: callback for passing back the
8643 response of the remove STA key operation received from
8644 the device
8645
8646 pUserData: user data will be passed back with the
8647 callback
8648
8649 @see WDI_SetSTAKeyReq
8650 @return Result of the function call
8651*/
8652WDI_Status
8653WDI_RemoveSTAKeyReq
8654(
8655 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8656 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8657 void* pUserData
8658);
8659
8660/**
8661 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8662 wants to install a STA Bcast encryption key on the HW.
8663 Upon the call of this API the WLAN DAL will pack and
8664 send a HAL Start request message to the lower RIVA
8665 sub-system if DAL is in state STARTED.
8666
8667 In state BUSY this request will be queued. Request won't
8668 be allowed in any other state.
8669
8670 WDI_PostAssocReq must have been called.
8671
8672 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8673 specified by the Device Interface
8674
8675 wdiSetSTABcastKeyRspCb: callback for passing back the
8676 response of the set BSS Key operation received from the
8677 device
8678
8679 pUserData: user data will be passed back with the
8680 callback
8681
8682 @see WDI_PostAssocReq
8683 @return Result of the function call
8684*/
8685WDI_Status
8686WDI_SetSTABcastKeyReq
8687(
8688 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8689 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8690 void* pUserData
8691);
8692
8693
8694/**
8695 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8696 MAC to uninstall a STA Bcast key from HW. Upon the call
8697 of this API the WLAN DAL will pack and send a HAL Remove
8698 STA Bcast Key request message to the lower RIVA
8699 sub-system if DAL is in state STARTED.
8700
8701 In state BUSY this request will be queued. Request won't
8702 be allowed in any other state.
8703
8704 WDI_SetSTABcastKeyReq must have been called.
8705
8706 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8707 parameters as specified by the Device
8708 Interface
8709
8710 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8711 response of the remove STA Bcast key operation received
8712 from the device
8713
8714 pUserData: user data will be passed back with the
8715 callback
8716
8717 @see WDI_SetSTABcastKeyReq
8718 @return Result of the function call
8719*/
8720WDI_Status
8721WDI_RemoveSTABcastKeyReq
8722(
8723 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8724 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8725 void* pUserData
8726);
8727
schang86c22c42013-03-13 18:41:24 -07008728
8729/**
8730 @brief WDI_SetTxPowerReq will be called when the upper
8731 MAC wants to set Tx Power to HW.
8732 In state BUSY this request will be queued. Request won't
8733 be allowed in any other state.
8734
8735
8736 @param pwdiSetTxPowerParams: set TS Power parameters
8737 BSSID and target TX Power with dbm included
8738
8739 wdiReqStatusCb: callback for passing back the response
8740
8741 pUserData: user data will be passed back with the
8742 callback
8743
8744 @return Result of the function call
8745*/
8746WDI_Status
8747WDI_SetTxPowerReq
8748(
8749 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8750 WDA_SetTxPowerRspCb wdiReqStatusCb,
8751 void* pUserData
8752);
8753
Jeff Johnson295189b2012-06-20 16:38:30 -07008754/**
8755 @brief WDI_SetMaxTxPowerReq will be called when the upper
8756 MAC wants to set Max Tx Power to HW. Upon the
8757 call of this API the WLAN DAL will pack and send a HAL
8758 Remove STA Bcast Key request message to the lower RIVA
8759 sub-system if DAL is in state STARTED.
8760
8761 In state BUSY this request will be queued. Request won't
8762 be allowed in any other state.
8763
8764 WDI_SetSTABcastKeyReq must have been called.
8765
8766 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8767 parameters as specified by the Device
8768 Interface
8769
8770 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8771 response of the remove STA Bcast key operation received
8772 from the device
8773
8774 pUserData: user data will be passed back with the
8775 callback
8776
8777 @see WDI_SetMaxTxPowerReq
8778 @return Result of the function call
8779*/
8780WDI_Status
8781WDI_SetMaxTxPowerReq
8782(
8783 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8784 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8785 void* pUserData
8786);
8787
Arif Hussaina5ebce02013-08-09 15:09:58 -07008788/**
8789 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8790 MAC wants to set Max Tx Power to HW for specific band. Upon the
8791 call of this API the WLAN DAL will pack and send a HAL
8792 Set Max Tx Power Per Band request message to the lower RIVA
8793 sub-system if DAL is in state STARTED.
8794
8795 In state BUSY this request will be queued. Request won't
8796 be allowed in any other state.
8797
8798
8799 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8800
8801 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8802 when it has received a set max Tx Power Per Band response from
8803 the underlying device.
8804
8805 pUserData: user data will be passed back with the
8806 callback
8807
8808 @see WDI_SetMaxTxPowerPerBandReq
8809 @return Result of the function call
8810*/
8811WDI_Status
8812WDI_SetMaxTxPowerPerBandReq
8813(
8814 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8815 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8816 void* pUserData
8817);
8818
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008819#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008820/**
8821 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8822 Traffic Stream metrics.
8823 In state BUSY this request will be queued. Request won't
8824 be allowed in any other state.
8825
8826 @param wdiAddTsReqParams: the add TS parameters as specified by
8827 the Device Interface
8828
8829 wdiAddTsRspCb: callback for passing back the response of
8830 the add TS operation received from the device
8831
8832 pUserData: user data will be passed back with the
8833 callback
8834
8835 @see WDI_PostAssocReq
8836 @return Result of the function call
8837*/
8838WDI_Status
8839WDI_TSMStatsReq
8840(
8841 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8842 WDI_TsmRspCb wdiTsmStatsRspCb,
8843 void* pUserData
8844);
8845
8846
8847#endif
8848
8849/*========================================================================
8850
8851 QoS and BA APIs
8852
8853==========================================================================*/
8854
8855/**
8856 @brief WDI_AddTSReq will be called when the upper MAC to inform
8857 the device of a successful add TSpec negotiation. HW
8858 needs to receive the TSpec Info from the UMAC in order
8859 to configure properly the QoS data traffic. Upon the
8860 call of this API the WLAN DAL will pack and send a HAL
8861 Add TS request message to the lower RIVA sub-system if
8862 DAL is in state STARTED.
8863
8864 In state BUSY this request will be queued. Request won't
8865 be allowed in any other state.
8866
8867 WDI_PostAssocReq must have been called.
8868
8869 @param wdiAddTsReqParams: the add TS parameters as specified by
8870 the Device Interface
8871
8872 wdiAddTsRspCb: callback for passing back the response of
8873 the add TS operation received from the device
8874
8875 pUserData: user data will be passed back with the
8876 callback
8877
8878 @see WDI_PostAssocReq
8879 @return Result of the function call
8880*/
8881WDI_Status
8882WDI_AddTSReq
8883(
8884 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8885 WDI_AddTsRspCb wdiAddTsRspCb,
8886 void* pUserData
8887);
8888
8889
8890
8891/**
8892 @brief WDI_DelTSReq will be called when the upper MAC has ended
8893 admission on a specific AC. This is to inform HW that
8894 QoS traffic parameters must be rest. Upon the call of
8895 this API the WLAN DAL will pack and send a HAL Del TS
8896 request message to the lower RIVA sub-system if DAL is
8897 in state STARTED.
8898
8899 In state BUSY this request will be queued. Request won't
8900 be allowed in any other state.
8901
8902 WDI_AddTSReq must have been called.
8903
8904 @param wdiDelTsReqParams: the del TS parameters as specified by
8905 the Device Interface
8906
8907 wdiDelTsRspCb: callback for passing back the response of
8908 the del TS operation received from the device
8909
8910 pUserData: user data will be passed back with the
8911 callback
8912
8913 @see WDI_AddTSReq
8914 @return Result of the function call
8915*/
8916WDI_Status
8917WDI_DelTSReq
8918(
8919 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8920 WDI_DelTsRspCb wdiDelTsRspCb,
8921 void* pUserData
8922);
8923
8924
8925
8926/**
8927 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8928 wishes to update the EDCA parameters used by HW for QoS
8929 data traffic. Upon the call of this API the WLAN DAL
8930 will pack and send a HAL Update EDCA Params request
8931 message to the lower RIVA sub-system if DAL is in state
8932 STARTED.
8933
8934 In state BUSY this request will be queued. Request won't
8935 be allowed in any other state.
8936
8937 WDI_PostAssocReq must have been called.
8938
8939 @param wdiUpdateEDCAParams: the start parameters as specified
8940 by the Device Interface
8941
8942 wdiUpdateEDCAParamsRspCb: callback for passing back the
8943 response of the start operation received from the 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_UpdateEDCAParams
8953(
8954 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8955 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8956 void* pUserData
8957);
8958
8959
8960
8961/**
8962 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8963 successfully a BA session and needs to notify the HW for
8964 the appropriate settings to take place. Upon the call of
8965 this API the WLAN DAL will pack and send a HAL Add BA
8966 request message to the lower RIVA sub-system if DAL is
8967 in state STARTED.
8968
8969 In state BUSY this request will be queued. Request won't
8970 be allowed in any other state.
8971
8972 WDI_PostAssocReq must have been called.
8973
8974 @param wdiAddBAReqParams: the add BA parameters as specified by
8975 the Device Interface
8976
8977 wdiAddBARspCb: callback for passing back the response of
8978 the add BA operation received from the device
8979
8980 pUserData: user data will be passed back with the
8981 callback
8982
8983 @see WDI_PostAssocReq
8984 @return Result of the function call
8985*/
8986WDI_Status
8987WDI_AddBASessionReq
8988(
8989 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8990 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8991 void* pUserData
8992);
8993
8994
8995/**
8996 @brief WDI_DelBAReq will be called when the upper MAC wants to
8997 inform HW that it has deleted a previously created BA
8998 session. Upon the call of this API the WLAN DAL will
8999 pack and send a HAL Del BA request message to the lower
9000 RIVA sub-system if DAL is in state STARTED.
9001
9002 In state BUSY this request will be queued. Request won't
9003 be allowed in any other state.
9004
9005 WDI_AddBAReq must have been called.
9006
9007 @param wdiDelBAReqParams: the del BA parameters as specified by
9008 the Device Interface
9009
9010 wdiDelBARspCb: callback for passing back the response of
9011 the del BA operation received from the device
9012
9013 pUserData: user data will be passed back with the
9014 callback
9015
9016 @see WDI_AddBAReq
9017 @return Result of the function call
9018*/
9019WDI_Status
9020WDI_DelBAReq
9021(
9022 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9023 WDI_DelBARspCb wdiDelBARspCb,
9024 void* pUserData
9025);
9026
9027/**
9028 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9029 inform HW that there is a change in the beacon parameters
9030 Upon the call of this API the WLAN DAL will
9031 pack and send a UpdateBeacon Params message to the lower
9032 RIVA sub-system if DAL is in state STARTED.
9033
9034 In state BUSY this request will be queued. Request won't
9035 be allowed in any other state.
9036
9037 WDI_UpdateBeaconParamsReq must have been called.
9038
9039 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9040 the Device Interface
9041
9042 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9043 the Update Beacon Params operation received from the device
9044
9045 pUserData: user data will be passed back with the
9046 callback
9047
9048 @see WDI_AddBAReq
9049 @return Result of the function call
9050*/
9051
9052WDI_Status
9053WDI_UpdateBeaconParamsReq
9054(
9055 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9056 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9057 void* pUserData
9058);
9059
9060
9061/**
9062 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9063 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9064 Upon the call of this API the WLAN DAL will
9065 pack and send the beacon Template message to the lower
9066 RIVA sub-system if DAL is in state STARTED.
9067
9068 In state BUSY this request will be queued. Request won't
9069 be allowed in any other state.
9070
9071 WDI_SendBeaconParamsReq must have been called.
9072
9073 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9074 the Device Interface
9075
9076 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9077 the Send Beacon Params operation received from the device
9078
9079 pUserData: user data will be passed back with the
9080 callback
9081
9082 @see WDI_AddBAReq
9083 @return Result of the function call
9084*/
9085
9086WDI_Status
9087WDI_SendBeaconParamsReq
9088(
9089 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9090 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9091 void* pUserData
9092);
9093
9094
9095/**
9096 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9097 upper MAC wants to update the probe response template to
9098 be transmitted as Soft AP
9099 Upon the call of this API the WLAN DAL will
9100 pack and send the probe rsp template message to the
9101 lower RIVA sub-system if DAL is in state STARTED.
9102
9103 In state BUSY this request will be queued. Request won't
9104 be allowed in any other state.
9105
9106
9107 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9108 specified by the Device Interface
9109
9110 wdiSendBeaconParamsRspCb: callback for passing back the
9111 response of the Send Beacon Params operation received
9112 from the device
9113
9114 pUserData: user data will be passed back with the
9115 callback
9116
9117 @see WDI_AddBAReq
9118 @return Result of the function call
9119*/
9120
9121WDI_Status
9122WDI_UpdateProbeRspTemplateReq
9123(
9124 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9125 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9126 void* pUserData
9127);
9128
Jeff Johnson295189b2012-06-20 16:38:30 -07009129/**
9130 @brief WDI_SetP2PGONOAReq will be called when the
9131 upper MAC wants to send Notice of Absence
9132 Upon the call of this API the WLAN DAL will
9133 pack and send the probe rsp template message to the
9134 lower RIVA sub-system if DAL is in state STARTED.
9135
9136 In state BUSY this request will be queued. Request won't
9137 be allowed in any other state.
9138
9139
9140 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9141 specified by the Device Interface
9142
9143 wdiSendBeaconParamsRspCb: callback for passing back the
9144 response of the Send Beacon Params operation received
9145 from the device
9146
9147 pUserData: user data will be passed back with the
9148 callback
9149
9150 @see WDI_AddBAReq
9151 @return Result of the function call
9152*/
9153WDI_Status
9154WDI_SetP2PGONOAReq
9155(
9156 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9157 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9158 void* pUserData
9159);
Jeff Johnson295189b2012-06-20 16:38:30 -07009160
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309161/**
9162 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9163 upper MAC wants to send TDLS Link Establish Request Parameters
9164 Upon the call of this API the WLAN DAL will
9165 pack and send the TDLS Link Establish Request message to the
9166 lower RIVA sub-system if DAL is in state STARTED.
9167
9168 In state BUSY this request will be queued. Request won't
9169 be allowed in any other state.
9170
9171
9172 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9173 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9174
9175 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9176 response of the TDLS Link Establish request received
9177 from the device
9178
9179 pUserData: user data will be passed back with the
9180 callback
9181
9182 @see
9183 @return Result of the function call
9184*/
9185WDI_Status
9186WDI_SetTDLSLinkEstablishReq
9187(
9188 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9189 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9190 void* pUserData
9191);
Jeff Johnson295189b2012-06-20 16:38:30 -07009192
Atul Mittalc0f739f2014-07-31 13:47:47 +05309193WDI_Status
9194WDI_SetTDLSChanSwitchReq
9195(
9196 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9197 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9198 void* pUserData
9199);
Jeff Johnson295189b2012-06-20 16:38:30 -07009200/*========================================================================
9201
9202 Power Save APIs
9203
9204==========================================================================*/
9205
9206/**
9207 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9208 wants to set the power save related configurations of
9209 the WLAN Device. Upon the call of this API the WLAN DAL
9210 will pack and send a HAL Update CFG request message to
9211 the lower RIVA sub-system if DAL is in state STARTED.
9212
9213 In state BUSY this request will be queued. Request won't
9214 be allowed in any other state.
9215
9216 WDI_Start must have been called.
9217
9218 @param pwdiPowerSaveCfg: the power save cfg parameters as
9219 specified by the Device Interface
9220
9221 wdiSetPwrSaveCfgCb: callback for passing back the
9222 response of the set power save cfg operation received
9223 from the device
9224
9225 pUserData: user data will be passed back with the
9226 callback
9227
9228 @see WDI_Start
9229 @return Result of the function call
9230*/
9231WDI_Status
9232WDI_SetPwrSaveCfgReq
9233(
9234 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9235 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9236 void* pUserData
9237);
9238
9239/**
9240 @brief WDI_EnterImpsReq will be called when the upper MAC to
9241 request the device to get into IMPS power state. Upon
9242 the call of this API the WLAN DAL will send a HAL Enter
9243 IMPS request message to the lower RIVA sub-system if DAL
9244 is in state STARTED.
9245
9246 In state BUSY this request will be queued. Request won't
9247 be allowed in any other state.
9248
9249
9250 @param wdiEnterImpsRspCb: callback for passing back the
9251 response of the Enter IMPS operation received from the
9252 device
9253
9254 pUserData: user data will be passed back with the
9255 callback
9256
9257 @see WDI_Start
9258 @return Result of the function call
9259*/
9260WDI_Status
9261WDI_EnterImpsReq
9262(
Mihir Shetea4306052014-03-25 00:02:54 +05309263 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009264 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9265 void* pUserData
9266);
9267
9268/**
9269 @brief WDI_ExitImpsReq will be called when the upper MAC to
9270 request the device to get out of IMPS power state. Upon
9271 the call of this API the WLAN DAL will send a HAL Exit
9272 IMPS request message to the lower RIVA sub-system if DAL
9273 is in state STARTED.
9274
9275 In state BUSY this request will be queued. Request won't
9276 be allowed in any other state.
9277
9278
9279
9280 @param wdiExitImpsRspCb: callback for passing back the response
9281 of the Exit IMPS operation received from the device
9282
9283 pUserData: user data will be passed back with the
9284 callback
9285
9286 @see WDI_Start
9287 @return Result of the function call
9288*/
9289WDI_Status
9290WDI_ExitImpsReq
9291(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309292 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009293 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9294 void* pUserData
9295);
9296
9297/**
9298 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9299 request the device to get into BMPS power state. Upon
9300 the call of this API the WLAN DAL will pack and send a
9301 HAL Enter BMPS request message to the lower RIVA
9302 sub-system if DAL is in state STARTED.
9303
9304 In state BUSY this request will be queued. Request won't
9305 be allowed in any other state.
9306
9307 WDI_PostAssocReq must have been called.
9308
9309 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9310 specified by the Device Interface
9311
9312 wdiEnterBmpsRspCb: callback for passing back the
9313 response of the Enter BMPS operation received from the
9314 device
9315
9316 pUserData: user data will be passed back with the
9317 callback
9318
9319 @see WDI_PostAssocReq
9320 @return Result of the function call
9321*/
9322WDI_Status
9323WDI_EnterBmpsReq
9324(
9325 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9326 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9327 void* pUserData
9328);
9329
9330/**
9331 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9332 request the device to get out of BMPS power state. Upon
9333 the call of this API the WLAN DAL will pack and send a
9334 HAL Exit BMPS request message to the lower RIVA
9335 sub-system if DAL is in state STARTED.
9336
9337 In state BUSY this request will be queued. Request won't
9338 be allowed in any other state.
9339
9340 WDI_PostAssocReq must have been called.
9341
9342 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9343 specified by the Device Interface
9344
9345 wdiExitBmpsRspCb: callback for passing back the response
9346 of the Exit BMPS operation received from the device
9347
9348 pUserData: user data will be passed back with the
9349 callback
9350
9351 @see WDI_PostAssocReq
9352 @return Result of the function call
9353*/
9354WDI_Status
9355WDI_ExitBmpsReq
9356(
9357 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9358 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9359 void* pUserData
9360);
9361
9362/**
9363 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9364 request the device to get into UAPSD power state. Upon
9365 the call of this API the WLAN DAL will pack and send a
9366 HAL Enter UAPSD request message to the lower RIVA
9367 sub-system if DAL is in state STARTED.
9368
9369 In state BUSY this request will be queued. Request won't
9370 be allowed in any other state.
9371
9372 WDI_PostAssocReq must have been called.
9373 WDI_SetUapsdAcParamsReq must have been called.
9374
9375 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9376 specified by the Device Interface
9377
9378 wdiEnterUapsdRspCb: callback for passing back the
9379 response of the Enter UAPSD operation received from the
9380 device
9381
9382 pUserData: user data will be passed back with the
9383 callback
9384
9385 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9386 @return Result of the function call
9387*/
9388WDI_Status
9389WDI_EnterUapsdReq
9390(
9391 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9392 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9393 void* pUserData
9394);
9395
9396/**
9397 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9398 request the device to get out of UAPSD power state. Upon
9399 the call of this API the WLAN DAL will send a HAL Exit
9400 UAPSD request message to the lower RIVA sub-system if
9401 DAL is in state STARTED.
9402
9403 In state BUSY this request will be queued. Request won't
9404 be allowed in any other state.
9405
9406 WDI_PostAssocReq must have been called.
9407
9408 @param wdiExitUapsdRspCb: callback for passing back the
9409 response of the Exit UAPSD operation received from the
9410 device
9411
9412 pUserData: user data will be passed back with the
9413 callback
9414
9415 @see WDI_PostAssocReq
9416 @return Result of the function call
9417*/
9418WDI_Status
9419WDI_ExitUapsdReq
9420(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009421 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009422 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9423 void* pUserData
9424);
9425
9426/**
9427 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9428 MAC wants to set the UAPSD related configurations
9429 of an associated STA (while acting as an AP) to the WLAN
9430 Device. Upon the call of this API the WLAN DAL will pack
9431 and send a HAL Update UAPSD params request message to
9432 the lower RIVA sub-system if DAL is in state STARTED.
9433
9434 In state BUSY this request will be queued. Request won't
9435 be allowed in any other state.
9436
9437 WDI_ConfigBSSReq must have been called.
9438
9439 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9440 as specified by the Device Interface
9441
9442 wdiUpdateUapsdParamsCb: callback for passing back the
9443 response of the update UAPSD params operation received
9444 from the device
9445
9446 pUserData: user data will be passed back with the
9447 callback
9448
9449 @see WDI_ConfigBSSReq
9450 @return Result of the function call
9451*/
9452WDI_Status
9453WDI_UpdateUapsdParamsReq
9454(
9455 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9456 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9457 void* pUserData
9458);
9459
9460/**
9461 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9462 MAC wants to set the UAPSD related configurations before
9463 requesting for enter UAPSD power state to the WLAN
9464 Device. Upon the call of this API the WLAN DAL will pack
9465 and send a HAL Set UAPSD params request message to
9466 the lower RIVA sub-system if DAL is in state STARTED.
9467
9468 In state BUSY this request will be queued. Request won't
9469 be allowed in any other state.
9470
9471 WDI_PostAssocReq must have been called.
9472
9473 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9474 the Device Interface
9475
9476 wdiSetUapsdAcParamsCb: callback for passing back the
9477 response of the set UAPSD params operation received from
9478 the device
9479
9480 pUserData: user data will be passed back with the
9481 callback
9482
9483 @see WDI_PostAssocReq
9484 @return Result of the function call
9485*/
9486WDI_Status
9487WDI_SetUapsdAcParamsReq
9488(
9489 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9490 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9491 void* pUserData
9492);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309493
9494
9495/**
9496 @brief WDI_FatalEventLogsReq will be called when the upper
9497 MAC wants to send the fatal event req. Upon the call of
9498 this API the WLAN DAL will pack and send a HAL
9499 Fatal event request message to the lower RIVA sub-system.
9500
9501 In state BUSY this request will be queued. Request won't
9502 be allowed in any other state.
9503
9504
9505 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9506 as specified by the Device Interface
9507
9508 wdiFatalEventLogsRspCb: callback for passing back the
9509 response of the fatal event operation received
9510 from the device
9511
9512 pUserData: user data will be passed back with the
9513 callback
9514
9515 @return Result of the function call
9516*/
9517
9518WDI_Status
9519WDI_FatalEventLogsReq
9520(
9521 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9522 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9523 void* pUserData
9524);
9525
Siddharth Bhal64246172015-02-27 01:04:37 +05309526/**
9527 @brief WDI_GetFrameLogReq will be called when the upper
9528 MAC wants to initialize frame logging. Upon the call of
9529 this API the WLAN DAL will pack and send a HAL
9530 Frame logging init request message to
9531 the lower RIVA sub-system.
9532
9533 In state BUSY this request will be queued. Request won't
9534 be allowed in any other state.
9535
9536
9537 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9538 as specified by the Device Interface
9539
9540 wdiGetFrameLogReqCb: callback for passing back the
9541 response of the frame logging init operation received
9542 from the device
9543
9544 pUserData: user data will be passed back with the
9545 callback
9546
9547 @return Result of the function call
9548*/
9549WDI_Status
9550WDI_GetFrameLogReq
9551(
9552 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9553 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9554 void* pUserData
9555);
Jeff Johnson295189b2012-06-20 16:38:30 -07009556
9557/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309558 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309559 MAC wants to initialize frame logging. Upon the call of
9560 this API the WLAN DAL will pack and send a HAL
9561 Frame logging init request message to
9562 the lower RIVA sub-system.
9563
9564 In state BUSY this request will be queued. Request won't
9565 be allowed in any other state.
9566
9567
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309568 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309569 as specified by the Device Interface
9570
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309571 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309572 response of the frame logging init operation received
9573 from the device
9574
9575 pUserData: user data will be passed back with the
9576 callback
9577
9578 @return Result of the function call
9579*/
9580WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309581WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309582(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309583 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9584 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309585 void* pUserData
9586);
9587
9588/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009589 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9590 MAC wants to set/reset the RXP filters for received pkts
9591 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9592 and send a HAL configure RXP filter request message to
9593 the lower RIVA sub-system.
9594
9595 In state BUSY this request will be queued. Request won't
9596 be allowed in any other state.
9597
9598
9599 @param pwdiConfigureRxpFilterReqParams: the RXP
9600 filter as specified by the Device
9601 Interface
9602
9603 wdiConfigureRxpFilterCb: callback for passing back the
9604 response of the configure RXP filter operation received
9605 from the device
9606
9607 pUserData: user data will be passed back with the
9608 callback
9609
9610 @return Result of the function call
9611*/
9612WDI_Status
9613WDI_ConfigureRxpFilterReq
9614(
9615 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9616 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9617 void* pUserData
9618);
9619
9620/**
9621 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9622 wants to set the beacon filters while in power save.
9623 Upon the call of this API the WLAN DAL will pack and
9624 send a Beacon filter request message to the
9625 lower RIVA sub-system.
9626
9627 In state BUSY this request will be queued. Request won't
9628 be allowed in any other state.
9629
9630
9631 @param pwdiBeaconFilterReqParams: the beacon
9632 filter as specified by the Device
9633 Interface
9634
9635 wdiBeaconFilterCb: callback for passing back the
9636 response of the set beacon filter operation received
9637 from the device
9638
9639 pUserData: user data will be passed back with the
9640 callback
9641
9642 @return Result of the function call
9643*/
9644WDI_Status
9645WDI_SetBeaconFilterReq
9646(
9647 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9648 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9649 void* pUserData
9650);
9651
9652/**
9653 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9654 wants to remove the beacon filter for perticular IE
9655 while in power save. Upon the call of this API the WLAN
9656 DAL will pack and send a remove Beacon filter request
9657 message to the lower RIVA sub-system.
9658
9659 In state BUSY this request will be queued. Request won't
9660 be allowed in any other state.
9661
9662
9663 @param pwdiBeaconFilterReqParams: the beacon
9664 filter as specified by the Device
9665 Interface
9666
9667 wdiBeaconFilterCb: callback for passing back the
9668 response of the remove beacon filter operation received
9669 from the device
9670
9671 pUserData: user data will be passed back with the
9672 callback
9673
9674 @return Result of the function call
9675*/
9676WDI_Status
9677WDI_RemBeaconFilterReq
9678(
9679 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9680 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9681 void* pUserData
9682);
9683
9684/**
9685 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9686 MAC wants to set the RSSI thresholds related
9687 configurations while in power save. Upon the call of
9688 this API the WLAN DAL will pack and send a HAL Set RSSI
9689 thresholds request message to the lower RIVA
9690 sub-system if DAL is in state STARTED.
9691
9692 In state BUSY this request will be queued. Request won't
9693 be allowed in any other state.
9694
9695 WDI_PostAssocReq must have been called.
9696
9697 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9698 the Device Interface
9699
9700 wdiSetUapsdAcParamsCb: callback for passing back the
9701 response of the set UAPSD params operation received from
9702 the device
9703
9704 pUserData: user data will be passed back with the
9705 callback
9706
9707 @see WDI_PostAssocReq
9708 @return Result of the function call
9709*/
9710WDI_Status
9711WDI_SetRSSIThresholdsReq
9712(
9713 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9714 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9715 void* pUserData
9716);
9717
9718/**
9719 @brief WDI_HostOffloadReq will be called when the upper MAC
9720 wants to set the filter to minimize unnecessary host
9721 wakeup due to broadcast traffic while in power save.
9722 Upon the call of this API the WLAN DAL will pack and
9723 send a HAL host offload request message to the
9724 lower RIVA sub-system if DAL is in state STARTED.
9725
9726 In state BUSY this request will be queued. Request won't
9727 be allowed in any other state.
9728
9729 WDI_PostAssocReq must have been called.
9730
9731 @param pwdiHostOffloadParams: the host offload as specified
9732 by the Device Interface
9733
9734 wdiHostOffloadCb: callback for passing back the response
9735 of the host offload operation received from the
9736 device
9737
9738 pUserData: user data will be passed back with the
9739 callback
9740
9741 @see WDI_PostAssocReq
9742 @return Result of the function call
9743*/
9744WDI_Status
9745WDI_HostOffloadReq
9746(
9747 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9748 WDI_HostOffloadCb wdiHostOffloadCb,
9749 void* pUserData
9750);
9751
9752/**
9753 @brief WDI_KeepAliveReq will be called when the upper MAC
9754 wants to set the filter to send NULL or unsolicited ARP responses
9755 and minimize unnecessary host wakeups due to while in power save.
9756 Upon the call of this API the WLAN DAL will pack and
9757 send a HAL Keep Alive request message to the
9758 lower RIVA sub-system if DAL is in state STARTED.
9759
9760 In state BUSY this request will be queued. Request won't
9761 be allowed in any other state.
9762
9763 WDI_PostAssocReq must have been called.
9764
9765 @param pwdiKeepAliveParams: the Keep Alive as specified
9766 by the Device Interface
9767
9768 wdiKeepAliveCb: callback for passing back the response
9769 of the Keep Alive operation received from the
9770 device
9771
9772 pUserData: user data will be passed back with the
9773 callback
9774
9775 @see WDI_PostAssocReq
9776 @return Result of the function call
9777*/
9778WDI_Status
9779WDI_KeepAliveReq
9780(
9781 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9782 WDI_KeepAliveCb wdiKeepAliveCb,
9783 void* pUserData
9784);
9785
9786/**
9787 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9788 wants to set the Wowl Bcast ptrn to minimize unnecessary
9789 host wakeup due to broadcast traffic while in power
9790 save. Upon the call of this API the WLAN DAL will pack
9791 and send a HAL Wowl Bcast ptrn request message to the
9792 lower RIVA sub-system if DAL is in state STARTED.
9793
9794 In state BUSY this request will be queued. Request won't
9795 be allowed in any other state.
9796
9797 WDI_PostAssocReq must have been called.
9798
9799 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9800 specified by the Device Interface
9801
9802 wdiWowlAddBcPtrnCb: callback for passing back the
9803 response of the add Wowl bcast ptrn operation received
9804 from the device
9805
9806 pUserData: user data will be passed back with the
9807 callback
9808
9809 @see WDI_PostAssocReq
9810 @return Result of the function call
9811*/
9812WDI_Status
9813WDI_WowlAddBcPtrnReq
9814(
9815 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9816 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9817 void* pUserData
9818);
9819
9820/**
9821 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9822 wants to clear the Wowl Bcast ptrn. Upon the call of
9823 this API the WLAN DAL will pack and send a HAL delete
9824 Wowl Bcast ptrn request message to the lower RIVA
9825 sub-system if DAL is in state STARTED.
9826
9827 In state BUSY this request will be queued. Request won't
9828 be allowed in any other state.
9829
9830 WDI_WowlAddBcPtrnReq must have been called.
9831
9832 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9833 specified by the Device Interface
9834
9835 wdiWowlDelBcPtrnCb: callback for passing back the
9836 response of the del Wowl bcast ptrn operation received
9837 from the device
9838
9839 pUserData: user data will be passed back with the
9840 callback
9841
9842 @see WDI_WowlAddBcPtrnReq
9843 @return Result of the function call
9844*/
9845WDI_Status
9846WDI_WowlDelBcPtrnReq
9847(
9848 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9849 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9850 void* pUserData
9851);
9852
9853/**
9854 @brief WDI_WowlEnterReq will be called when the upper MAC
9855 wants to enter the Wowl state to minimize unnecessary
9856 host wakeup while in power save. Upon the call of this
9857 API the WLAN DAL will pack and send a HAL Wowl enter
9858 request message to the lower RIVA sub-system if DAL is
9859 in state STARTED.
9860
9861 In state BUSY this request will be queued. Request won't
9862 be allowed in any other state.
9863
9864 WDI_PostAssocReq must have been called.
9865
9866 @param pwdiWowlEnterReqParams: the Wowl enter info as
9867 specified by the Device Interface
9868
9869 wdiWowlEnterReqCb: callback for passing back the
9870 response of the enter Wowl operation received from the
9871 device
9872
9873 pUserData: user data will be passed back with the
9874 callback
9875
9876 @see WDI_PostAssocReq
9877 @return Result of the function call
9878*/
9879WDI_Status
9880WDI_WowlEnterReq
9881(
9882 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9883 WDI_WowlEnterReqCb wdiWowlEnterCb,
9884 void* pUserData
9885);
9886
9887/**
9888 @brief WDI_WowlExitReq will be called when the upper MAC
9889 wants to exit the Wowl state. Upon the call of this API
9890 the WLAN DAL will pack and send a HAL Wowl exit request
9891 message to the lower RIVA sub-system if DAL is in state
9892 STARTED.
9893
9894 In state BUSY this request will be queued. Request won't
9895 be allowed in any other state.
9896
9897 WDI_WowlEnterReq must have been called.
9898
9899 @param pwdiWowlExitReqParams: the Wowl exit info as
9900 specified by the Device Interface
9901
9902 wdiWowlExitReqCb: callback for passing back the response
9903 of the exit Wowl operation received from the device
9904
9905 pUserData: user data will be passed back with the
9906 callback
9907
9908 @see WDI_WowlEnterReq
9909 @return Result of the function call
9910*/
9911WDI_Status
9912WDI_WowlExitReq
9913(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009914 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009915 WDI_WowlExitReqCb wdiWowlExitCb,
9916 void* pUserData
9917);
9918
9919/**
9920 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9921 the upper MAC wants to dynamically adjusts the listen
9922 interval based on the WLAN/MSM activity. Upon the call
9923 of this API the WLAN DAL will pack and send a HAL
9924 configure Apps Cpu Wakeup State request message to the
9925 lower RIVA sub-system.
9926
9927 In state BUSY this request will be queued. Request won't
9928 be allowed in any other state.
9929
9930
9931 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9932 Apps Cpu Wakeup State as specified by the
9933 Device Interface
9934
9935 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9936 back the response of the configure Apps Cpu Wakeup State
9937 operation received from the device
9938
9939 pUserData: user data will be passed back with the
9940 callback
9941
9942 @return Result of the function call
9943*/
9944WDI_Status
9945WDI_ConfigureAppsCpuWakeupStateReq
9946(
9947 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9948 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9949 void* pUserData
9950);
9951/**
9952 @brief WDI_FlushAcReq will be called when the upper MAC wants
9953 to to perform a flush operation on a given AC. Upon the
9954 call of this API the WLAN DAL will pack and send a HAL
9955 Flush AC request message to the lower RIVA sub-system if
9956 DAL is in state STARTED.
9957
9958 In state BUSY this request will be queued. Request won't
9959 be allowed in any other state.
9960
9961
9962 @param pwdiFlushAcReqParams: the Flush AC parameters as
9963 specified by the Device Interface
9964
9965 wdiFlushAcRspCb: callback for passing back the response
9966 of the Flush AC operation received from the device
9967
9968 pUserData: user data will be passed back with the
9969 callback
9970
9971 @return Result of the function call
9972*/
9973WDI_Status
9974WDI_FlushAcReq
9975(
9976 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9977 WDI_FlushAcRspCb wdiFlushAcRspCb,
9978 void* pUserData
9979);
9980
9981/**
9982 @brief WDI_BtAmpEventReq will be called when the upper MAC
9983 wants to notify the lower mac on a BT AMP event. This is
9984 to inform BTC-SLM that some BT AMP event occurred. Upon
9985 the call of this API the WLAN DAL will pack and send a
9986 HAL BT AMP event request message to the lower RIVA
9987 sub-system if DAL is in state STARTED.
9988
9989 In state BUSY this request will be queued. Request won't
9990 be allowed in any other state.
9991
9992
9993 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9994 specified by the Device Interface
9995
9996 wdiBtAmpEventRspCb: callback for passing back the
9997 response of the BT AMP event operation received from the
9998 device
9999
10000 pUserData: user data will be passed back with the
10001 callback
10002
10003 @return Result of the function call
10004*/
10005WDI_Status
10006WDI_BtAmpEventReq
10007(
10008 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10009 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10010 void* pUserData
10011);
10012
Jeff Johnsone7245742012-09-05 17:12:55 -070010013#ifdef FEATURE_OEM_DATA_SUPPORT
10014/**
10015 @brief WDI_Start oem data Req will be called when the upper MAC
10016 wants to notify the lower mac on a oem data Req event.Upon
10017 the call of this API the WLAN DAL will pack and send a
10018 HAL OEM Data Req event request message to the lower RIVA
10019 sub-system if DAL is in state STARTED.
10020
10021 In state BUSY this request will be queued. Request won't
10022 be allowed in any other state.
10023
10024
10025 @param pWdiOemDataReqParams: the oem data req parameters as
10026 specified by the Device Interface
10027
10028 wdiStartOemDataRspCb: callback for passing back the
10029 response of the Oem Data Req received from the
10030 device
10031
10032 pUserData: user data will be passed back with the
10033 callback
10034
10035 @return Result of the function call
10036*/
10037WDI_Status
10038WDI_StartOemDataReq
10039(
10040 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10041 WDI_oemDataRspCb wdiOemDataRspCb,
10042 void* pUserData
10043);
10044#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010045
10046/*========================================================================
10047
10048 CONTROL APIs
10049
10050==========================================================================*/
10051/**
10052 @brief WDI_SwitchChReq will be called when the upper MAC wants
10053 the WLAN HW to change the current channel of operation.
10054 Upon the call of this API the WLAN DAL will pack and
10055 send a HAL Start request message to the lower RIVA
10056 sub-system if DAL is in state STARTED.
10057
10058 In state BUSY this request will be queued. Request won't
10059 be allowed in any other state.
10060
10061 WDI_Start must have been called.
10062
10063 @param wdiSwitchChReqParams: the switch ch parameters as
10064 specified by the Device Interface
10065
10066 wdiSwitchChRspCb: callback for passing back the response
10067 of the switch ch operation received from the device
10068
10069 pUserData: user data will be passed back with the
10070 callback
10071
10072 @see WDI_Start
10073 @return Result of the function call
10074*/
10075WDI_Status
10076WDI_SwitchChReq
10077(
10078 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10079 WDI_SwitchChRspCb wdiSwitchChRspCb,
10080 void* pUserData
10081);
10082
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010083/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010084 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10085 it also send type source for the channel change.
10086 WDI_Start must have been called.
10087
10088 @param wdiSwitchChReqParams: the switch ch parameters as
10089 specified by the Device Interface
10090
10091 wdiSwitchChRspCb: callback for passing back the response
10092 of the switch ch operation received from the device
10093
10094 pUserData: user data will be passed back with the
10095 callback
10096
10097 @see WDI_Start
10098 @return Result of the function call
10099*/
10100
10101WDI_Status
10102WDI_SwitchChReq_V1
10103(
10104 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10105 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10106 void* pUserData
10107);
10108
10109/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010110 @brief WDI_UpdateChannelReq will be called when the upper MAC
10111 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010112 In state BUSY this request will be queued. Request won't
10113 be allowed in any other state.
10114
10115 WDI_UpdateChannelReq must have been called.
10116
10117 @param wdiUpdateChannelReqParams: the updated channel parameters
10118 as specified by the Device Interface
10119
10120 wdiUpdateChannelRspCb: callback for passing back the
10121 response of the update channel operation received from
10122 the device
10123
10124 pUserData: user data will be passed back with the
10125 callback
10126
10127 @return Result of the function call
10128*/
10129WDI_Status
10130WDI_UpdateChannelReq
10131(
10132 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10133 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10134 void* pUserData
10135);
Jeff Johnson295189b2012-06-20 16:38:30 -070010136
10137/**
10138 @brief WDI_ConfigSTAReq will be called when the upper MAC
10139 wishes to add or update a STA in HW. Upon the call of
10140 this API the WLAN DAL will pack and send a HAL Start
10141 message request message to the lower RIVA sub-system if
10142 DAL is in state STARTED.
10143
10144 In state BUSY this request will be queued. Request won't
10145 be allowed in any other state.
10146
10147 WDI_Start must have been called.
10148
10149 @param wdiConfigSTAReqParams: the config STA parameters as
10150 specified by the Device Interface
10151
10152 wdiConfigSTARspCb: callback for passing back the
10153 response of the config STA operation received from the
10154 device
10155
10156 pUserData: user data will be passed back with the
10157 callback
10158
10159 @see WDI_Start
10160 @return Result of the function call
10161*/
10162WDI_Status
10163WDI_ConfigSTAReq
10164(
10165 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10166 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10167 void* pUserData
10168);
10169
10170/**
10171 @brief WDI_SetLinkStateReq will be called when the upper MAC
10172 wants to change the state of an ongoing link. Upon the
10173 call of this API the WLAN DAL will pack and send a HAL
10174 Start message request message to the lower RIVA
10175 sub-system if DAL is in state STARTED.
10176
10177 In state BUSY this request will be queued. Request won't
10178 be allowed in any other state.
10179
10180 WDI_JoinReq must have been called.
10181
10182 @param wdiSetLinkStateReqParams: the set link state parameters
10183 as specified by the Device Interface
10184
10185 wdiSetLinkStateRspCb: callback for passing back the
10186 response of the set link state operation received from
10187 the device
10188
10189 pUserData: user data will be passed back with the
10190 callback
10191
10192 @see WDI_JoinStartReq
10193 @return Result of the function call
10194*/
10195WDI_Status
10196WDI_SetLinkStateReq
10197(
10198 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10199 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10200 void* pUserData
10201);
10202
10203
10204/**
10205 @brief WDI_GetStatsReq will be called when the upper MAC wants
10206 to get statistics (MIB counters) from the device. Upon
10207 the call of this API the WLAN DAL will pack and send a
10208 HAL Start request message to the lower RIVA sub-system
10209 if DAL is in state STARTED.
10210
10211 In state BUSY this request will be queued. Request won't
10212 be allowed in any other state.
10213
10214 WDI_Start must have been called.
10215
10216 @param wdiGetStatsReqParams: the stats parameters to get as
10217 specified by the Device Interface
10218
10219 wdiGetStatsRspCb: callback for passing back the response
10220 of the get stats operation received from the device
10221
10222 pUserData: user data will be passed back with the
10223 callback
10224
10225 @see WDI_Start
10226 @return Result of the function call
10227*/
10228WDI_Status
10229WDI_GetStatsReq
10230(
10231 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10232 WDI_GetStatsRspCb wdiGetStatsRspCb,
10233 void* pUserData
10234);
10235
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010236#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010237/**
10238 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10239 to get roam rssi from the device. Upon
10240 the call of this API the WLAN DAL will pack and send a
10241 HAL Start request message to the lower RIVA sub-system
10242 if DAL is in state STARTED.
10243
10244 In state BUSY this request will be queued. Request won't
10245 be allowed in any other state.
10246
10247 WDI_Start must have been called.
10248
10249 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10250 specified by the Device Interface
10251
10252 wdiGetRoamRssispCb: callback for passing back the response
10253 of the get stats operation received from the device
10254
10255 pUserData: user data will be passed back with the
10256 callback
10257
10258 @see WDI_Start
10259 @return Result of the function call
10260*/
10261WDI_Status
10262WDI_GetRoamRssiReq
10263(
10264 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10265 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10266 void* pUserData
10267);
10268#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010269
10270/**
10271 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10272 it wishes to change the configuration of the WLAN
10273 Device. Upon the call of this API the WLAN DAL will pack
10274 and send a HAL Update CFG request message to the lower
10275 RIVA sub-system if DAL is in state STARTED.
10276
10277 In state BUSY this request will be queued. Request won't
10278 be allowed in any other state.
10279
10280 WDI_Start must have been called.
10281
10282 @param wdiUpdateCfgReqParams: the update cfg parameters as
10283 specified by the Device Interface
10284
10285 wdiUpdateCfgsRspCb: callback for passing back the
10286 response of the update cfg operation received from the
10287 device
10288
10289 pUserData: user data will be passed back with the
10290 callback
10291
10292 @see WDI_Start
10293 @return Result of the function call
10294*/
10295WDI_Status
10296WDI_UpdateCfgReq
10297(
10298 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10299 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10300 void* pUserData
10301);
10302
10303/**
10304 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10305 to the NV memory.
10306
10307 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10308 the Device Interface
10309
10310 wdiNvDownloadRspCb: callback for passing back the response of
10311 the NV Download operation received from the device
10312
10313 pUserData: user data will be passed back with the
10314 callback
10315
10316 @see WDI_PostAssocReq
10317 @return Result of the function call
10318*/
10319WDI_Status
10320WDI_NvDownloadReq
10321(
10322 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10323 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10324 void* pUserData
10325);
10326/**
10327 @brief WDI_AddBAReq will be called when the upper MAC has setup
10328 successfully a BA session and needs to notify the HW for
10329 the appropriate settings to take place. Upon the call of
10330 this API the WLAN DAL will pack and send a HAL Add BA
10331 request message to the lower RIVA sub-system if DAL is
10332 in state STARTED.
10333
10334 In state BUSY this request will be queued. Request won't
10335 be allowed in any other state.
10336
10337 WDI_PostAssocReq must have been called.
10338
10339 @param wdiAddBAReqParams: the add BA parameters as specified by
10340 the Device Interface
10341
10342 wdiAddBARspCb: callback for passing back the response of
10343 the add BA operation received from the device
10344
10345 pUserData: user data will be passed back with the
10346 callback
10347
10348 @see WDI_PostAssocReq
10349 @return Result of the function call
10350*/
10351WDI_Status
10352WDI_AddBAReq
10353(
10354 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10355 WDI_AddBARspCb wdiAddBARspCb,
10356 void* pUserData
10357);
10358
10359/**
10360 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10361 successfully a BA session and needs to notify the HW for
10362 the appropriate settings to take place. Upon the call of
10363 this API the WLAN DAL will pack and send a HAL Add BA
10364 request message to the lower RIVA sub-system if DAL is
10365 in state STARTED.
10366
10367 In state BUSY this request will be queued. Request won't
10368 be allowed in any other state.
10369
10370 WDI_PostAssocReq must have been called.
10371
10372 @param wdiAddBAReqParams: the add BA parameters as specified by
10373 the Device Interface
10374
10375 wdiAddBARspCb: callback for passing back the response of
10376 the add BA operation received from the device
10377
10378 pUserData: user data will be passed back with the
10379 callback
10380
10381 @see WDI_PostAssocReq
10382 @return Result of the function call
10383*/
10384WDI_Status
10385WDI_TriggerBAReq
10386(
10387 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10388 WDI_TriggerBARspCb wdiTriggerBARspCb,
10389 void* pUserData
10390);
10391
10392
10393/**
10394 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10395 frame xtl is enabled for a particular STA.
10396
10397 WDI_PostAssocReq must have been called.
10398
10399 @param uSTAIdx: STA index
10400
10401 @see WDI_PostAssocReq
10402 @return Result of the function call
10403*/
10404wpt_boolean WDI_IsHwFrameTxTranslationCapable
10405(
10406 wpt_uint8 uSTAIdx
10407);
10408
Katya Nigam6201c3e2014-05-27 17:51:42 +053010409
10410/**
10411 @brief WDI_IsSelfSTA - check if staid is self sta index
10412
10413 @param pWDICtx: pointer to the WLAN DAL context
10414 ucSTAIdx: station index
10415
10416 @return Result of the function call
10417*/
10418
10419wpt_boolean
10420WDI_IsSelfSTA
10421(
10422 void* pWDICtx,
10423 wpt_uint8 ucSTAIdx
10424);
10425
10426
Jeff Johnson295189b2012-06-20 16:38:30 -070010427#ifdef WLAN_FEATURE_VOWIFI_11R
10428/**
10429 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10430 the device of a successful add TSpec negotiation for 11r. HW
10431 needs to receive the TSpec Info from the UMAC in order
10432 to configure properly the QoS data traffic. Upon the
10433 call of this API the WLAN DAL will pack and send a HAL
10434 Aggregated Add TS request message to the lower RIVA sub-system if
10435 DAL is in state STARTED.
10436
10437 In state BUSY this request will be queued. Request won't
10438 be allowed in any other state.
10439
10440 WDI_PostAssocReq must have been called.
10441
10442 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10443 the Device Interface
10444
10445 wdiAggrAddTsRspCb: callback for passing back the response of
10446 the add TS operation received from the device
10447
10448 pUserData: user data will be passed back with the
10449 callback
10450
10451 @see WDI_PostAssocReq
10452 @return Result of the function call
10453*/
10454WDI_Status
10455WDI_AggrAddTSReq
10456(
10457 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10458 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10459 void* pUserData
10460);
10461#endif /* WLAN_FEATURE_VOWIFI_11R */
10462/**
10463 @brief WDI_STATableInit - Initializes the STA tables.
10464 Allocates the necesary memory.
10465
10466
10467 @param pWDICtx: pointer to the WLAN DAL context
10468
10469 @see
10470 @return Result of the function call
10471*/
10472
10473WDI_Status WDI_StubRunTest
10474(
10475 wpt_uint8 ucTestNo
10476);
10477
Jeff Johnson295189b2012-06-20 16:38:30 -070010478/**
10479 @brief WDI_FTMCommandReq -
10480 Route FTMRequest Command to HAL
10481
10482 @param ftmCommandReq: FTM request command body
10483 @param ftmCommandRspCb: Response CB
10484 @param pUserData: User data will be included with CB
10485
10486 @return Result of the function call
10487*/
10488WDI_Status WDI_FTMCommandReq
10489(
10490 WDI_FTMCommandReqType *ftmCommandReq,
10491 WDI_FTMCommandRspCb ftmCommandRspCb,
10492 void *pUserData
10493);
Jeff Johnson295189b2012-06-20 16:38:30 -070010494
10495/**
10496 @brief WDI_HostResumeReq will be called
10497
10498 In state BUSY this request will be queued. Request won't
10499 be allowed in any other state.
10500
10501
10502 @param pwdiResumeReqParams: as specified by
10503 the Device Interface
10504
10505 wdiResumeReqRspCb: callback for passing back the response of
10506 the Resume Req received from the device
10507
10508 pUserData: user data will be passed back with the
10509 callback
10510
10511 @see WDI_PostAssocReq
10512 @return Result of the function call
10513*/
10514WDI_Status
10515WDI_HostResumeReq
10516(
10517 WDI_ResumeParamsType* pwdiResumeReqParams,
10518 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10519 void* pUserData
10520);
10521
10522/**
10523 @brief WDI_GetAvailableResCount - Function to get the available resource
10524 for data and managemnt frames.
10525
10526 @param pContext: pointer to the WDI context
10527 @param wdiResPool: type of resource pool requesting
10528 @see
10529 @return Result of the function call
10530*/
10531
10532wpt_uint32 WDI_GetAvailableResCount
10533(
10534 void *pContext,
10535 WDI_ResPoolType wdiResPool
10536);
10537
10538/**
10539 @brief WDI_SetAddSTASelfReq will be called when the
10540 UMAC wanted to add self STA while opening any new session
10541 In state BUSY this request will be queued. Request won't
10542 be allowed in any other state.
10543
10544
10545 @param pwdiAddSTASelfParams: the add self sta parameters as
10546 specified by the Device Interface
10547
10548 pUserData: user data will be passed back with the
10549 callback
10550
10551 @see
10552 @return Result of the function call
10553*/
10554WDI_Status
10555WDI_AddSTASelfReq
10556(
10557 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10558 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10559 void* pUserData
10560);
10561
10562
10563/**
10564 @brief WDI_DelSTASelfReq will be called .
10565
10566 @param WDI_DelSTASelfReqParamsType
10567
10568 WDI_DelSTASelfRspCb: callback for passing back the
10569 response of the del sta self operation received from the
10570 device
10571
10572 pUserData: user data will be passed back with the
10573 callback
10574
10575 @see WDI_PostAssocReq
10576 @return Result of the function call
10577*/
10578WDI_Status
10579WDI_DelSTASelfReq
10580(
10581 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10582 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10583 void* pUserData
10584);
10585
10586/**
10587 @brief WDI_HostSuspendInd
10588
10589 Suspend Indication from the upper layer will be sent
10590 down to HAL
10591
10592 @param WDI_SuspendParamsType
10593
10594 @see
10595
10596 @return Status of the request
10597*/
10598WDI_Status
10599WDI_HostSuspendInd
10600(
10601 WDI_SuspendParamsType* pwdiSuspendIndParams
10602);
10603
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010604/**
10605 @brief WDI_TrafficStatsInd
10606
10607 Traffic Stats from the upper layer will be sent
10608 down to HAL
10609
10610 @param WDI_TrafficStatsIndType
10611
10612 @see
10613
10614 @return Status of the request
10615*/
10616WDI_Status
10617WDI_TrafficStatsInd
10618(
10619 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10620);
10621
Chet Lanctot186b5732013-03-18 10:26:30 -070010622#ifdef WLAN_FEATURE_11W
10623/**
10624 @brief WDI_ExcludeUnencryptedInd
10625 Register with HAL to receive/drop unencrypted frames
10626
10627 @param WDI_ExcludeUnencryptIndType
10628
10629 @see
10630
10631 @return Status of the request
10632*/
10633WDI_Status
10634WDI_ExcludeUnencryptedInd
10635(
10636 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10637);
10638#endif
10639
Yue Mab9c86f42013-08-14 15:59:08 -070010640/**
10641 @brief WDI_AddPeriodicTxPtrnInd
10642
10643 @param WDI_AddPeriodicTxPtrnParamsType
10644
10645 @see
10646
10647 @return Status of the request
10648*/
10649WDI_Status
10650WDI_AddPeriodicTxPtrnInd
10651(
10652 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10653);
10654
10655/**
10656 @brief WDI_DelPeriodicTxPtrnInd
10657
10658 @param WDI_DelPeriodicTxPtrnParamsType
10659
10660 @see
10661
10662 @return Status of the request
10663*/
10664WDI_Status
10665WDI_DelPeriodicTxPtrnInd
10666(
10667 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10668);
10669
Jeff Johnson295189b2012-06-20 16:38:30 -070010670#ifdef FEATURE_WLAN_SCAN_PNO
10671/**
10672 @brief WDI_SetPreferredNetworkList
10673
10674 @param pwdiPNOScanReqParams: the Set PNO as specified
10675 by the Device Interface
10676
10677 wdiPNOScanCb: callback for passing back the response
10678 of the Set PNO operation received from the
10679 device
10680
10681 pUserData: user data will be passed back with the
10682 callback
10683
10684 @see WDI_PostAssocReq
10685 @return Result of the function call
10686*/
10687WDI_Status
10688WDI_SetPreferredNetworkReq
10689(
10690 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10691 WDI_PNOScanCb wdiPNOScanCb,
10692 void* pUserData
10693);
10694
10695/**
10696 @brief WDI_SetRssiFilterReq
10697
10698 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10699 specified by the Device Interface
10700
10701 wdiRssiFilterCb: callback for passing back the response
10702 of the Set RSSI Filter operation received from the
10703 device
10704
10705 pUserData: user data will be passed back with the
10706 callback
10707
10708 @see WDI_PostAssocReq
10709 @return Result of the function call
10710*/
10711WDI_Status
10712WDI_SetRssiFilterReq
10713(
10714 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10715 WDI_RssiFilterCb wdiRssiFilterCb,
10716 void* pUserData
10717);
10718
10719/**
10720 @brief WDI_UpdateScanParams
10721
10722 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10723 by the Device Interface
10724
10725 wdiUpdateScanParamsCb: callback for passing back the response
10726 of the Set PNO operation received from the
10727 device
10728
10729 pUserData: user data will be passed back with the
10730 callback
10731
10732 @see WDI_PostAssocReq
10733 @return Result of the function call
10734*/
10735WDI_Status
10736WDI_UpdateScanParamsReq
10737(
10738 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10739 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10740 void* pUserData
10741);
10742#endif // FEATURE_WLAN_SCAN_PNO
10743
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010744#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10745/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010746 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010747
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010748 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010749 by the Device Interface
10750
10751 wdiRoamOffloadScanCb: callback for passing back the response
10752 of the Start Roam Candidate Lookup operation received from the
10753 device
10754
10755 pUserData: user data will be passed back with the
10756 callback
10757
10758 @return Result of the function call
10759*/
10760WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010761WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010762(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010763 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010764 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10765 void* pUserData
10766);
10767#endif
10768
Jeff Johnson295189b2012-06-20 16:38:30 -070010769/**
10770 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10771 wants to set the Tx Per Tracking configurations.
10772 Upon the call of this API the WLAN DAL will pack
10773 and send a HAL Set Tx Per Tracking request message to the
10774 lower RIVA sub-system if DAL is in state STARTED.
10775
10776 In state BUSY this request will be queued. Request won't
10777 be allowed in any other state.
10778
10779 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10780 specified by the Device Interface
10781
10782 wdiSetTxPerTrackingCb: callback for passing back the
10783 response of the set Tx PER Tracking configurations operation received
10784 from the device
10785
10786 pUserData: user data will be passed back with the
10787 callback
10788
10789 @return Result of the function call
10790*/
10791WDI_Status
10792WDI_SetTxPerTrackingReq
10793(
10794 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10795 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10796 void* pUserData
10797);
10798
10799/**
10800 @brief WDI_SetTmLevelReq
10801 If HW Thermal condition changed, driver should react based on new
10802 HW thermal condition.
10803
10804 @param pwdiSetTmLevelReq: New thermal condition information
10805
10806 pwdiSetTmLevelRspCb: callback
10807
10808 usrData: user data will be passed back with the
10809 callback
10810
10811 @return Result of the function call
10812*/
10813WDI_Status
10814WDI_SetTmLevelReq
10815(
10816 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10817 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10818 void *usrData
10819);
10820
10821#ifdef WLAN_FEATURE_PACKET_FILTERING
10822/**
10823 @brief WDI_8023MulticastListReq
10824
10825 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10826 List as specified by the Device Interface
10827
10828 wdi8023MulticastListCallback: callback for passing back
10829 the response of the Set 8023 Multicast List operation
10830 received from the device
10831
10832 pUserData: user data will be passed back with the
10833 callback
10834
10835 @see WDI_PostAssocReq
10836 @return Result of the function call
10837*/
10838WDI_Status
10839WDI_8023MulticastListReq
10840(
10841 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10842 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10843 void* pUserData
10844);
10845
10846/**
10847 @brief WDI_ReceiveFilterSetFilterReq
10848
10849 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10850 specified by the Device Interface
10851
10852 wdiReceiveFilterSetFilterReqCallback: callback for
10853 passing back the response of the Set Receive Filter
10854 operation received from the device
10855
10856 pUserData: user data will be passed back with the
10857 callback
10858
10859 @see WDI_PostAssocReq
10860 @return Result of the function call
10861*/
10862WDI_Status
10863WDI_ReceiveFilterSetFilterReq
10864(
10865 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10866 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10867 void* pUserData
10868);
10869
10870/**
10871 @brief WDI_PCFilterMatchCountReq
10872
10873 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10874 Count
10875
10876 wdiPCFilterMatchCountCallback: callback for passing back
10877 the response of the D0 PC Filter Match Count operation
10878 received from the device
10879
10880 pUserData: user data will be passed back with the
10881 callback
10882
10883 @see WDI_PostAssocReq
10884 @return Result of the function call
10885*/
10886WDI_Status
10887WDI_FilterMatchCountReq
10888(
10889 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10890 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10891 void* pUserData
10892);
10893
10894/**
10895 @brief WDI_ReceiveFilterClearFilterReq
10896
10897 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10898 specified by the Device Interface
10899
10900 wdiReceiveFilterClearFilterCallback: callback for
10901 passing back the response of the Clear Filter
10902 operation received from the device
10903
10904 pUserData: user data will be passed back with the
10905 callback
10906
10907 @see WDI_PostAssocReq
10908 @return Result of the function call
10909*/
10910WDI_Status
10911WDI_ReceiveFilterClearFilterReq
10912(
10913 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10914 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10915 void* pUserData
10916);
10917#endif // WLAN_FEATURE_PACKET_FILTERING
10918
10919/**
10920 @brief WDI_HALDumpCmdReq
10921 Post HAL DUMP Command Event
10922
10923 @param halDumpCmdReqParams: Hal Dump Command Body
10924 @param halDumpCmdRspCb: callback for passing back the
10925 response
10926 @param pUserData: Client Data
10927
10928 @see
10929 @return Result of the function call
10930*/
10931WDI_Status WDI_HALDumpCmdReq(
10932 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10933 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10934 void *pUserData
10935);
10936
10937
10938/**
10939 @brief WDI_SetPowerParamsReq
10940
10941 @param pwdiPowerParamsReqParams: the Set Power Params as
10942 specified by the Device Interface
10943
10944 wdiPowerParamsCb: callback for passing back the response
10945 of the Set Power Params operation received from the
10946 device
10947
10948 pUserData: user data will be passed back with the
10949 callback
10950
10951 @return Result of the function call
10952*/
10953WDI_Status
10954WDI_SetPowerParamsReq
10955(
10956 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10957 WDI_SetPowerParamsCb wdiPowerParamsCb,
10958 void* pUserData
10959);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010960/**
10961 @brief WDI_dhcpStartInd
10962 Forward the DHCP Start event
10963
10964 @param
10965
10966 wdiDHCPInd: device mode and MAC address is passed
10967
10968 @see
10969 @return Result of the function call
10970*/
10971
10972WDI_Status
10973WDI_dhcpStartInd
10974(
10975 WDI_DHCPInd *wdiDHCPInd
10976);
10977/**
10978 @brief WDI_dhcpStopReq
10979 Forward the DHCP Stop event
10980
10981 @param
10982
10983 wdiDHCPInd: device mode and MAC address is passed
10984
10985 @see
10986 @return Result of the function call
10987*/
10988
10989WDI_Status
10990WDI_dhcpStopInd
10991(
10992 WDI_DHCPInd *wdiDHCPInd
10993);
Jeff Johnson295189b2012-06-20 16:38:30 -070010994
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010995/**
10996 @brief WDI_RateUpdateInd will be called when the upper MAC
10997 requests the device to update rates.
10998
10999 In state BUSY this request will be queued. Request won't
11000 be allowed in any other state.
11001
11002
11003 @param wdiRateUpdateIndParams
11004
11005
11006 @see WDI_Start
11007 @return Result of the function call
11008*/
11009WDI_Status
11010WDI_RateUpdateInd
11011(
11012 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11013);
11014
Jeff Johnson295189b2012-06-20 16:38:30 -070011015#ifdef WLAN_FEATURE_GTK_OFFLOAD
11016/**
11017 @brief WDI_GTKOffloadReq will be called when the upper MAC
11018 wants to set GTK Rekey Counter while in power save. Upon
11019 the call of this API the WLAN DAL will pack and send a
11020 HAL GTK offload request message to the lower RIVA
11021 sub-system if DAL is in state STARTED.
11022
11023 In state BUSY this request will be queued. Request won't
11024 be allowed in any other state.
11025
11026 WDI_PostAssocReq must have been called.
11027
11028 @param pwdiGtkOffloadParams: the GTK offload as specified
11029 by the Device Interface
11030
11031 wdiGtkOffloadCb: callback for passing back the response
11032 of the GTK offload operation received from the device
11033
11034 pUserData: user data will be passed back with the
11035 callback
11036
11037 @see WDI_PostAssocReq
11038 @return Result of the function call
11039*/
11040WDI_Status
11041WDI_GTKOffloadReq
11042(
11043 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11044 WDI_GtkOffloadCb wdiGtkOffloadCb,
11045 void* pUserData
11046);
11047
11048/**
11049 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11050 MAC wants to get GTK Rekey Counter while in power save.
11051 Upon the call of this API the WLAN DAL will pack and
11052 send a HAL GTK offload request message to the lower RIVA
11053 sub-system if DAL is in state STARTED.
11054
11055 In state BUSY this request will be queued. Request won't
11056 be allowed in any other state.
11057
11058 WDI_PostAssocReq must have been called.
11059
11060 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11061 Information Message as specified by the
11062 Device Interface
11063
11064 wdiGtkOffloadGetInfoCb: callback for passing back the
11065 response of the GTK offload operation received from the
11066 device
11067
11068 pUserData: user data will be passed back with the
11069 callback
11070
11071 @see WDI_PostAssocReq
11072 @return Result of the function call
11073*/
11074WDI_Status
11075WDI_GTKOffloadGetInfoReq
11076(
11077 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11078 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11079 void* pUserData
11080);
11081#endif // WLAN_FEATURE_GTK_OFFLOAD
11082
11083/**
11084 @brief WDI_featureCapsExchangeReq
11085 Post feature capability bitmap exchange event.
11086 Host will send its own capability to FW in this req and
11087 expect FW to send its capability back as a bitmap in Response
11088
11089 @param
11090
11091 wdiFeatCapsExcRspCb: callback called on getting the response.
11092 It is kept to mantain similarity between WDI reqs and if needed, can
11093 be used in future. Currently, It is set to NULL
11094
11095 pUserData: user data will be passed back with the
11096 callback
11097
11098 @see
11099 @return Result of the function call
11100*/
11101WDI_Status
11102WDI_featureCapsExchangeReq
11103(
11104 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11105 void* pUserData
11106);
11107
11108/**
Yathish9f22e662012-12-10 14:21:35 -080011109 @brief Disable Active mode offload in Host
11110
11111 @param void
11112 @see
11113 @return void
11114*/
11115void
11116WDI_disableCapablityFeature(wpt_uint8 feature_index);
11117
11118
11119/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011120 @brief WDI_getHostWlanFeatCaps
11121 WDI API that returns whether the feature passed to it as enum value in
11122 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11123 variable storing host capability bitmap to find this. This can be used by
11124 other moduels to decide certain things like call different APIs based on
11125 whether a particular feature is supported.
11126
11127 @param
11128
11129 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11130
11131 @see
11132 @return
11133 0 - if the feature is NOT supported in host
11134 any non-zero value - if the feature is SUPPORTED in host.
11135*/
11136wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11137
11138/**
11139 @brief WDI_getFwWlanFeatCaps
11140 WDI API that returns whether the feature passed to it as enum value in
11141 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11142 variable storing host capability bitmap to find this. This can be used by
11143 other moduels to decide certain things like call different APIs based on
11144 whether a particular feature is supported.
11145
11146 @param
11147
Jeff Johnsone7245742012-09-05 17:12:55 -070011148 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11149 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011150
11151 @see
11152 @return
11153 0 - if the feature is NOT supported in FW
11154 any non-zero value - if the feature is SUPPORTED in FW.
11155*/
11156wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11157
11158/**
11159 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11160 api version
11161
11162 @param WDI_WlanVersionType: Wlan version structure
11163 @see
11164 @return none
11165*/
11166
11167void WDI_GetWcnssCompiledApiVersion
11168(
11169 WDI_WlanVersionType *pWcnssApiVersion
11170);
11171
Mohit Khanna4a70d262012-09-11 16:30:12 -070011172#ifdef WLAN_FEATURE_11AC
11173WDI_Status
11174WDI_UpdateVHTOpModeReq
11175(
11176 WDI_UpdateVHTOpMode *pData,
11177 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11178 void* pUserData
11179);
Jeff Johnson295189b2012-06-20 16:38:30 -070011180
Mohit Khanna4a70d262012-09-11 16:30:12 -070011181#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011182
11183/**
11184 @brief WDI_TransportChannelDebug -
11185 Display DXE Channel debugging information
11186 User may request to display DXE channel snapshot
11187 Or if host driver detects any abnormal stcuk may display
11188
Jeff Johnsonb88db982012-12-10 13:34:59 -080011189 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011190 @param debugFlags : Enable stall detect features
11191 defined by WPAL_DeviceDebugFlags
11192 These features may effect
11193 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011194 @see
11195 @return none
11196*/
11197void WDI_TransportChannelDebug
11198(
11199 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011200 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011201);
11202
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011203/**
11204 @brief WDI_SsrTimerCB
11205 Callback function for SSR timer, if this is called then the graceful
11206 shutdown for Riva did not happen.
11207
11208 @param pUserData : user data to timer
11209
11210 @see
11211 @return none
11212*/
11213void
11214WDI_SsrTimerCB
11215(
11216 void *pUserData
11217);
11218
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011219/**
11220 @brief WDI_SetEnableSSR -
11221 This API is called to enable/disable SSR on WDI timeout.
11222
11223 @param enableSSR : enable/disable SSR
11224
11225 @see
11226 @return none
11227*/
11228void WDI_SetEnableSSR(wpt_boolean enableSSR);
11229
Leo Chang9056f462013-08-01 19:21:11 -070011230#ifdef FEATURE_WLAN_LPHB
11231/**
11232 @brief WDI_LPHBConfReq
11233 This API is called to config FW LPHB rule
11234
11235 @param lphbconfParam : LPHB rule should config to FW
11236 usrData : Client context
11237 lphbCfgCb : Configuration status callback
11238 @see
11239 @return SUCCESS or FAIL
11240*/
11241WDI_Status WDI_LPHBConfReq
11242(
11243 void *lphbconfParam,
11244 void *usrData,
11245 WDI_LphbCfgCb lphbCfgCb
11246);
11247#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011248
Dino Mycle41bdc942014-06-10 11:30:24 +053011249#ifdef WLAN_FEATURE_EXTSCAN
11250/**
11251 @brief WDI_EXTScanStartReq
11252 This API is called to send EXTScan start request to FW
11253
11254 @param pwdiEXTScanStartReqParams : pointer to the request params.
11255 wdiEXTScanStartRspCb : callback on getting the response.
11256 usrData : Client context
11257 @see
11258 @return SUCCESS or FAIL
11259*/
11260WDI_Status WDI_EXTScanStartReq
11261(
11262 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11263 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11264 void* pUserData
11265);
11266
11267/**
11268 @brief WDI_EXTScanStopReq
11269 This API is called to stop the EXTScan operations in the FW
11270
11271 @param pwdiEXTScanStopReqParams : pointer to the request params.
11272 wdiEXTScanStopRspCb : callback on getting the response.
11273 usrData : Client context
11274 @see
11275 @return SUCCESS or FAIL
11276*/
11277WDI_Status WDI_EXTScanStopReq
11278(
11279 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11280 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11281 void* pUserData
11282);
11283
11284/**
11285 @brief WDI_EXTScanGetCachedResultsReq
11286 This API is called to send get link layer stats request in FW
11287
11288 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11289 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11290 usrData : Client context
11291 @see
11292 @return SUCCESS or FAIL
11293*/
11294WDI_Status WDI_EXTScanGetCachedResultsReq
11295(
11296 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11297 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11298 void* pUserData
11299);
11300
11301/**
11302 @brief WDI_EXTScanGetCapabilitiesReq
11303 This API is called to send get EXTScan capabilities from FW
11304
11305 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11306 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11307 usrData : Client context
11308 @see
11309 @return SUCCESS or FAIL
11310*/
11311WDI_Status WDI_EXTScanGetCapabilitiesReq
11312(
11313 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11314 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11315 void* pUserData
11316);
11317
11318/**
11319 @brief WDI_EXTScanSetBSSIDHotlistReq
11320 This API is called to send Set BSSID Hotlist Request FW
11321
11322 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11323 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11324 usrData : Client context
11325 @see
11326 @return SUCCESS or FAIL
11327*/
11328WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11329(
11330 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11331 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11332 void* pUserData
11333);
11334
11335/**
11336 @brief WDI_EXTScanResetBSSIDHotlistReq
11337 This API is called to send Reset BSSID Hotlist Request FW
11338
11339 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11340 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11341 usrData : Client context
11342 @see
11343 @return SUCCESS or FAIL
11344*/
11345WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11346(
11347 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11348 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11349 void* pUserData
11350);
11351
11352/**
11353 @brief WDI_EXTScanSetSignfRSSIChangeReq
11354 This API is called to send Set Significant RSSI Request FW
11355
11356 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11357 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11358 usrData : Client context
11359 @see
11360 @return SUCCESS or FAIL
11361*/
11362WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11363(
11364 WDI_EXTScanSetSignfRSSIChangeReqParams*
11365 pwdiEXTScanSetSignfRSSIChangeReqParams,
11366 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11367 void* pUserData
11368);
11369
11370/**
11371 @brief WDI_EXTScanResetSignfRSSIChangeReq
11372 This API is called to send Reset BSSID Hotlist Request FW
11373
11374 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11375 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11376 usrData : Client context
11377 @see
11378 @return SUCCESS or FAIL
11379*/
11380WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11381(
11382 WDI_EXTScanResetSignfRSSIChangeReqParams*
11383 pwdiEXTScanResetSignfRSSIChangeReqParams,
11384 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11385 void* pUserData
11386);
11387#endif /* WLAN_FEATURE_EXTSCAN */
11388
Sunil Duttbd736ed2014-05-26 21:19:41 +053011389#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11390/**
11391 @brief WDI_LLStatsSetReq
11392 This API is called to send set link layer stats request to FW
11393
11394 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11395 wdiLLStatsSetRspCb : set link layer stats response callback
11396 usrData : Client context
11397 @see
11398 @return SUCCESS or FAIL
11399*/
11400WDI_Status WDI_LLStatsSetReq
11401(
11402 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11403 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11404 void* pUserData
11405);
11406
11407/**
11408 @brief WDI_LLStatsGetReq
11409 This API is called to send get link layer stats request in FW
11410
11411 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11412 wdiLLStatsGetRspCb : get link layer stats response callback
11413 usrData : Client context
11414 @see
11415 @return SUCCESS or FAIL
11416*/
11417WDI_Status WDI_LLStatsGetReq
11418(
11419 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11420 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11421 void* pUserData
11422);
11423
11424/**
11425 @brief WDI_LLStatsClearReq
11426 This API is called to set clear link layer stats request in FW
11427
11428 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11429 iwdiLLStatsClearRspCb : clear link layer stats response callback
11430 usrData : Client context
11431 @see
11432 @return SUCCESS or FAIL
11433*/
11434WDI_Status WDI_LLStatsClearReq
11435(
11436 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11437 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11438 void* pUserData
11439);
11440#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11441
Abhishek Singh85b74712014-10-08 11:38:19 +053011442WDI_Status WDI_FWStatsGetReq
11443(
11444 void* pwdiFWStatsGetReqParams,
11445 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11446 wpt_uint32 pUserData
11447);
11448
Katya Nigamf0511f62015-05-05 16:40:57 +053011449WDI_Status WDI_MonStartReq
11450(
11451 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011452 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011453 void* pUserData
11454);
11455
11456WDI_Status WDI_MonStopReq
11457(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011458 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011459 void* pUserData
11460);
11461
Rajeev79dbe4c2013-10-05 11:03:42 +053011462#ifdef FEATURE_WLAN_BATCH_SCAN
11463/**
11464 @brief WDI_SetBatchScanReq
11465 This API is called to set batch scan request in FW
11466
11467 @param pBatchScanReqParam : pointer to set batch scan re param
11468 usrData : Client context
11469 setBatchScanRspCb : set batch scan resp callback
11470 @see
11471 @return SUCCESS or FAIL
11472*/
11473WDI_Status WDI_SetBatchScanReq
11474(
11475 void *pBatchScanReqParam,
11476 void *usrData,
11477 WDI_SetBatchScanCb setBatchScanRspCb
11478);
11479
11480/**
11481 @brief WDI_StopBatchScanInd
11482
11483 @param none
11484
11485 @see
11486
11487 @return Status of the request
11488*/
11489WDI_Status
11490WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11491
11492/**
11493 @brief WDI_TriggerBatchScanResultInd
11494 This API is called to pull batch scan result from FW
11495
11496 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11497 usrData : Client context
11498 setBatchScanRspCb : get batch scan resp callback
11499 @see
11500 @return SUCCESS or FAIL
11501*/
11502WDI_Status
11503WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11504
11505
11506#endif /*FEATURE_WLAN_BATCH_SCAN*/
11507
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011508/**
11509 @brief wdi_HT40OBSSScanInd
11510 This API is called to start OBSS scan
11511
11512 @param pWdiReq : pointer to get ind param
11513 @see
11514 @return SUCCESS or FAIL
11515*/
11516
11517WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11518
11519/**
11520 @brief wdi_HT40OBSSStopScanInd
11521 This API is called to stop OBSS scan
11522
11523 @param bssIdx : bssIdx to stop
11524 @see
11525 @return SUCCESS or FAIL
11526*/
11527
11528WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11529
c_hpothu92367912014-05-01 15:18:17 +053011530
11531WDI_Status WDI_GetBcnMissRate( void *pUserData,
11532 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11533 wpt_uint8 *bssid
11534 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011535WDI_Status
11536WDI_SetSpoofMacAddrReq
11537(
11538WDI_SpoofMacAddrInfoType *pWdiReq,
11539 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11540 void* pUserData
11541);
c_hpothu92367912014-05-01 15:18:17 +053011542
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011543WDI_Status
11544WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11545 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11546 void* pUserData
11547 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011548
11549/**
11550 @brief WDI_NanRequest
11551 NAN request
11552
11553 @param pwdiNanRequest: data
11554
11555 pwdiNanCb: callback
11556
11557 usrData: user data will be passed back with the
11558 callback
11559
11560 @return Result of the function call
11561*/
11562WDI_Status
11563WDI_NanRequest
11564(
11565 WDI_NanRequestType *pwdiNanRequest,
11566 void *usrData
11567);
11568
Abhishek Singh41988ba2015-05-25 19:42:29 +053011569/**
11570 @brief WDI_SetRtsCtsHTVhtInd
11571 Set RTS/CTS indication for diff modes.
11572
11573 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11574
11575 @return Result of the function call
11576*/
11577
11578WDI_Status
11579WDI_SetRtsCtsHTVhtInd
11580(
11581 wpt_uint32 rtsCtsVal
11582);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011583
Mihir Shete5affadc2015-05-29 20:54:57 +053011584WDI_Status
11585WDI_FWLoggingDXEdoneInd
11586(
11587 WDI_FWLoggingDXEdoneIndInfoType* pwdiFWLoggingDXEdoneInd
11588);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011589
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053011590/**
11591 @brief WDI_EnableDisableCAEventInd
11592 Enable/Disable Chan Avoidance indication
11593
11594 @param val: Enable/Disable Chan Avoidance indication
11595
11596 @return Result of the function call
11597*/
11598
11599WDI_Status
11600WDI_EnableDisableCAEventInd
11601(
11602wpt_uint32 val
11603);
11604
Jeff Johnson295189b2012-06-20 16:38:30 -070011605#ifdef __cplusplus
11606 }
11607#endif
11608
Jeff Johnson295189b2012-06-20 16:38:30 -070011609#endif /* #ifndef WLAN_QCT_WDI_H */