blob: 026f01a9eb5a508a9c8f199c404c8b316d24743f [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
Hoonki Lee9af07cf2013-04-24 01:21:58 -070042
Jeff Johnson295189b2012-06-20 16:38:30 -070043#ifndef WLAN_QCT_WDI_I_H
44#define WLAN_QCT_WDI_I_H
45
46/*===========================================================================
47
48 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
49 I N T E R N A L A P I F O R T H E
50 D A T A P A T H
51
52
53DESCRIPTION
54 This file contains the internal API exposed by the DAL Control Path Core
55 module to be used by the DAL Data Path Core.
56
57
Hoonki Lee9af07cf2013-04-24 01:21:58 -070058 Copyright (c) 2010 Qualcomm Technologies, Inc. All Rights Reserved.
59 Qualcomm Technologies Confidential and Proprietary
Jeff Johnson295189b2012-06-20 16:38:30 -070060===========================================================================*/
61
62
63/*===========================================================================
64
65 EDIT HISTORY FOR FILE
66
67
68 This section contains comments describing changes made to the module.
69 Notice that changes are listed in reverse chronological order.
70
71
72 $Header:$ $DateTime: $ $Author: $
73
74
75when who what, where, why
76-------- --- ----------------------------------------------------------
7710/05/11 hap Adding support for Keep Alive
7808/19/10 lti Created module.
79
80===========================================================================*/
81
82#include "wlan_qct_pal_type.h"
83#include "wlan_qct_pal_api.h"
84#include "wlan_qct_pal_list.h"
85#include "wlan_qct_pal_sync.h"
86#include "wlan_qct_pal_timer.h"
87#include "wlan_qct_wdi_cts.h"
88#include "wlan_qct_wdi_bd.h"
89
90#include "wlan_hal_msg.h"
91#include "wlan_status_code.h"
92#include "wlan_qct_dev_defs.h"
93/*----------------------------------------------------------------------------
94 * Preprocessor Definitions and Constants
95 * -------------------------------------------------------------------------*/
96
97/*Assert macro - redefined for WDI so it is more flexible in disabling*/
98#define WDI_ASSERT(_cond) WPAL_ASSERT(_cond)
99
100/*Error codes that can be returned by WDI - the HAL Error codes are not
101 propagated outside WDI because they are too explicit when refering to RIVA
102 HW errors - they are masked under dev internal failure*/
103#define WDI_ERR_BASIC_OP_FAILURE 0
104#define WDI_ERR_TRANSPORT_FAILURE 1
105#define WDI_ERR_INVALID_RSP_FMT 2
106#define WDI_ERR_RSP_TIMEOUT 3
107#define WDI_ERR_DEV_INTERNAL_FAILURE 4
108
109/*In prima 12 HW stations are supported including BCAST STA(staId 0)
110 and SELF STA(staId 1) so total ASSOC stations which can connect to Prima
111 SoftAP = 12 - 1(Self STa) - 1(Bcast Sta) = 10 Stations. */
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800112
113#ifdef WLAN_SOFTAP_VSTA_FEATURE
Yathish Hanumapuradoddi Shivanna64dfc472013-03-08 10:48:34 -0800114#define WDI_MAX_SUPPORTED_STAS 41
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800115#else
Yathish Hanumapuradoddi Shivanna64dfc472013-03-08 10:48:34 -0800116#define WDI_MAX_SUPPORTED_STAS 12
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800117#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700118#define WDI_MAX_SUPPORTED_BSS 5
119
120/* Control transport channel size*/
121#define WDI_CT_CHANNEL_SIZE 4096
122
123/*Invalid BSS index ! TO DO: Must come from the HAL header file*/
124#define WDI_BSS_INVALID_IDX 0xFF
125
Jeff Johnson295189b2012-06-20 16:38:30 -0700126#define WDI_FTM_MAX_RECEIVE_BUFFER 6500
Jeff Johnson295189b2012-06-20 16:38:30 -0700127
128/*---------------------------------------------------------------------------
129 DAL Control Path Main States
130---------------------------------------------------------------------------*/
131typedef enum
132{
133 /* Transition in this state made upon creation and when a close request is
134 received*/
135 WDI_INIT_ST = 0,
136
137 /* Transition happens after a Start response was received from HAL (as a
138 result of a previously sent HAL Request)*/
139 WDI_STARTED_ST,
140
141 /* Transition happens when a Stop request was received */
142 WDI_STOPPED_ST,
143
144 /* Transition happens when a request is being sent down to HAL and we are
145 waiting for the response */
146 WDI_BUSY_ST,
147
148 /* Transition happens when 'SSR' shutdown request is recieved.*/
149 WDI_SHUTDOWN_ST,
150
151 WDI_MAX_ST
152}WDI_MainStateType;
153
154
155/*---------------------------------------------------------------------------
156 DAL Control Path Scan States
157---------------------------------------------------------------------------*/
158typedef enum
159{
160 /*The flag will be set to this state when init is called. Once the flag has
161 this value the only two scanning API calls allowed are Scan Start and
162 Scan Finished*/
163 WDI_SCAN_INITIALIZED_ST = 0,
164
165 /*The flag will be set to this value once the Start Scan API is called.
166 When the flag has this value only Scan End API will be allowed. */
167 WDI_SCAN_STARTED_ST = 1,
168
169 /*The flag will be set to this value when End Scan API is called. When the
170 flag is set to this value the only two Scan APIs allowed are Start and
171 Finish. */
172 WDI_SCAN_ENDED_ST = 2,
173
174 /*The flag will be set to this value in the beginning before init is called
175 and after the Finish API is called. No other scan APIs will be allowed
176 in this state until Scan Init is called again. */
177 WDI_SCAN_FINISHED_ST = 3,
178
179 WDI_SCAN_MAX_ST
180}WDI_ScanStateType;
181
182/*---------------------------------------------------------------------------
183 WLAN DAL BSS Session Type - used to allow simulatneous association
184 and keep track of each associated session
185 ---------------------------------------------------------------------------*/
186#define WDI_MAX_BSS_SESSIONS 10
187
188typedef enum
189{
190 /*Init state*/
191 WDI_ASSOC_INIT_ST,
192
193 /*Joining State*/
194 WDI_ASSOC_JOINING_ST,
195
196 /*Associated state*/
197 WDI_ASSOC_POST_ST,
198
199 WDI_ASSOC_MAX_ST
200}WDI_AssocStateType;
201
202/*---------------------------------------------------------------------------
203 WLAN DAL Supported Request Types
204 ---------------------------------------------------------------------------*/
205typedef enum
206{
207 /*WLAN DAL START Request*/
208 WDI_START_REQ = 0,
209
210 /*WLAN DAL STOP Request*/
211 WDI_STOP_REQ = 1,
212
213 /*WLAN DAL STOP Request*/
214 WDI_CLOSE_REQ = 2,
215
216
217 /*SCAN*/
218 /*WLAN DAL Init Scan Request*/
219 WDI_INIT_SCAN_REQ = 3,
220
221 /*WLAN DAL Start Scan Request*/
222 WDI_START_SCAN_REQ = 4,
223
224 /*WLAN DAL End Scan Request*/
225 WDI_END_SCAN_REQ = 5,
226
227 /*WLAN DAL Finish Scan Request*/
228 WDI_FINISH_SCAN_REQ = 6,
229
230
231 /*ASSOCIATION*/
232 /*WLAN DAL Join Request*/
233 WDI_JOIN_REQ = 7,
234
235 /*WLAN DAL Config BSS Request*/
236 WDI_CONFIG_BSS_REQ = 8,
237
238 /*WLAN DAL Del BSS Request*/
239 WDI_DEL_BSS_REQ = 9,
240
241 /*WLAN DAL Post Assoc Request*/
242 WDI_POST_ASSOC_REQ = 10,
243
244 /*WLAN DAL Del STA Request*/
245 WDI_DEL_STA_REQ = 11,
246
247 /*Security*/
248 /*WLAN DAL Set BSS Key Request*/
249 WDI_SET_BSS_KEY_REQ = 12,
250
251 /*WLAN DAL Remove BSS Key Request*/
252 WDI_RMV_BSS_KEY_REQ = 13,
253
254 /*WLAN DAL Set STA Key Request*/
255 WDI_SET_STA_KEY_REQ = 14,
256
257 /*WLAN DAL Remove STA Key Request*/
258 WDI_RMV_STA_KEY_REQ = 15,
259
260 /*QOS and BA*/
261 /*WLAN DAL Add TSpec Request*/
262 WDI_ADD_TS_REQ = 16,
263
264 /*WLAN DAL Delete TSpec Request*/
265 WDI_DEL_TS_REQ = 17,
266
267 /*WLAN DAL Update EDCA Params Request*/
268 WDI_UPD_EDCA_PRMS_REQ = 18,
269
270 /*WLAN DAL Add BA Session Request*/
271 WDI_ADD_BA_SESSION_REQ = 19,
272
273 /*WLAN DAL Delete BA Request*/
274 WDI_DEL_BA_REQ = 20,
275
276 /* Miscellaneous Control */
277 /*WLAN DAL Channel Switch Request*/
278 WDI_CH_SWITCH_REQ = 21,
279
280 /*WLAN DAL Config STA Request*/
281 WDI_CONFIG_STA_REQ = 22,
282
283 /*WLAN DAL Set Link State Request*/
284 WDI_SET_LINK_ST_REQ = 23,
285
286 /*WLAN DAL Get Stats Request*/
287 WDI_GET_STATS_REQ = 24,
288
289 /*WLAN DAL Update Config Request*/
290 WDI_UPDATE_CFG_REQ = 25,
291
292 /* WDI ADD BA Request */
293 WDI_ADD_BA_REQ = 26,
294
295 /* WDI Trigger BA Request */
296 WDI_TRIGGER_BA_REQ = 27,
297
298 /*WLAN DAL Update Beacon Params Request*/
299 WDI_UPD_BCON_PRMS_REQ = 28,
300
301 /*WLAN DAL Send Beacon template Request*/
302 WDI_SND_BCON_REQ = 29,
303
304 /*WLAN DAL Send Probe Response Template Request*/
305 WDI_UPD_PROBE_RSP_TEMPLATE_REQ = 30,
306
307 /*WLAN DAL Set STA Bcast Key Request*/
308 WDI_SET_STA_BCAST_KEY_REQ = 31,
309
310 /*WLAN DAL Remove STA Bcast Key Request*/
311 WDI_RMV_STA_BCAST_KEY_REQ = 32,
312
313 /*WLAN DAL Set Max Tx Power Request*/
314 WDI_SET_MAX_TX_POWER_REQ = 33,
315
316 /* WLAN DAL P2P GO Notice Of Absence Request */
317 WDI_P2P_GO_NOTICE_OF_ABSENCE_REQ = 34,
318
319 /*WLAN DAL Enter IMPS Request*/
320 WDI_ENTER_IMPS_REQ = 35,
321
322 /*WLAN DAL Exit IMPS Request*/
323 WDI_EXIT_IMPS_REQ = 36,
324
325 /*WLAN DAL Enter BMPS Request*/
326 WDI_ENTER_BMPS_REQ = 37,
327
328 /*WLAN DAL Exit BMPS Request*/
329 WDI_EXIT_BMPS_REQ = 38,
330
331 /*WLAN DAL Enter UAPSD Request*/
332 WDI_ENTER_UAPSD_REQ = 39,
333
334 /*WLAN DAL Exit UAPSD Request*/
335 WDI_EXIT_UAPSD_REQ = 40,
336
337 /*WLAN DAL Set UAPSD Param Request*/
338 WDI_SET_UAPSD_PARAM_REQ = 41,
339
340 /*WLAN DAL Update UAPSD Param (SoftAP mode) Request*/
341 WDI_UPDATE_UAPSD_PARAM_REQ = 42,
342
343 /*WLAN DAL Configure RXP filter Request*/
344 WDI_CONFIGURE_RXP_FILTER_REQ = 43,
345
346 /*WLAN DAL Configure Beacon filter Request*/
347 WDI_SET_BEACON_FILTER_REQ = 44,
348
349 /*WLAN DAL Remove Beacon filter Request*/
350 WDI_REM_BEACON_FILTER_REQ = 45,
351
352 /*WLAN DAL Set RSSI thresholds Request*/
353 WDI_SET_RSSI_THRESHOLDS_REQ = 46,
354
355 /*WLAN DAL host offload Request*/
356 WDI_HOST_OFFLOAD_REQ = 47,
357
358 /*WLAN DAL add wowl bc ptrn Request*/
359 WDI_WOWL_ADD_BC_PTRN_REQ = 48,
360
361 /*WLAN DAL delete wowl bc ptrn Request*/
362 WDI_WOWL_DEL_BC_PTRN_REQ = 49,
363
364 /*WLAN DAL enter wowl Request*/
365 WDI_WOWL_ENTER_REQ = 50,
366
367 /*WLAN DAL exit wowl Request*/
368 WDI_WOWL_EXIT_REQ = 51,
369
370 /*WLAN DAL Configure Apps CPU Wakeup state Request*/
371 WDI_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ = 52,
372
373 /* WLAN NV Download Request */
374 WDI_NV_DOWNLOAD_REQ = 53,
375 /*WLAN DAL Flush AC Request*/
376 WDI_FLUSH_AC_REQ = 54,
377
378 /*WLAN DAL BT AMP event Request*/
379 WDI_BTAMP_EVENT_REQ = 55,
380 /*WLAN DAL Aggregated Add TSpec Request*/
381 WDI_AGGR_ADD_TS_REQ = 56,
382
383 WDI_ADD_STA_SELF_REQ = 57,
384
385 WDI_DEL_STA_SELF_REQ = 58,
386
387 /* WLAN FTM Command request */
388 WDI_FTM_CMD_REQ = 59,
389
Jeff Johnsone7245742012-09-05 17:12:55 -0700390 /*WLAN START OEM_DATA MEAS Request*/
391 WDI_START_OEM_DATA_REQ = 60,
Jeff Johnson295189b2012-06-20 16:38:30 -0700392 /* WLAN host resume request */
393 WDI_HOST_RESUME_REQ = 61,
394
395 WDI_KEEP_ALIVE_REQ = 62,
396
397 /* Set PNO */
398 WDI_SET_PREF_NETWORK_REQ = 63,
399
400 /*RSSI Filter Request*/
401 WDI_SET_RSSI_FILTER_REQ = 64,
402
403 /* Update Scan Parameters*/
404 WDI_UPDATE_SCAN_PARAMS_REQ = 65,
405
406 WDI_SET_TX_PER_TRACKING_REQ = 66,
407
408 WDI_8023_MULTICAST_LIST_REQ = 67,
409 WDI_RECEIVE_FILTER_SET_FILTER_REQ = 68,
410 WDI_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ = 69,
411 WDI_RECEIVE_FILTER_CLEAR_FILTER_REQ = 70,
412
413 /*This is temp fix. Should be removed once
414 * Host and Riva code is in sync*/
415 WDI_INIT_SCAN_CON_REQ = 71,
416
417 /* WLAN HAL DUMP Command request */
418 WDI_HAL_DUMP_CMD_REQ = 72,
419
420 /* WLAN DAL Shutdown Request */
421 WDI_SHUTDOWN_REQ = 73,
422
423 /*Set power parameters on the device*/
424 WDI_SET_POWER_PARAMS_REQ = 74,
425
426 /* Traffic Stream Metrics statistic request */
427 WDI_TSM_STATS_REQ = 75,
428 /* GTK Rekey Offload */
429 WDI_GTK_OFFLOAD_REQ = 76,
430 WDI_GTK_OFFLOAD_GETINFO_REQ = 77,
431
432 /*Set Thermal Migration level to RIVA*/
433 WDI_SET_TM_LEVEL_REQ = 78,
434
435 /* Send a capability exchange message to HAL */
436 WDI_FEATURE_CAPS_EXCHANGE_REQ = 79,
437
Mohit Khanna4a70d262012-09-11 16:30:12 -0700438#ifdef WLAN_FEATURE_11AC
439 /* Send a capability exchange message to HAL */
440 WDI_UPDATE_VHT_OP_MODE_REQ = 80,
441#endif
442
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -0800443 /*WLAN DAL Get Roam Rssi Request*/
444 WDI_GET_ROAM_RSSI_REQ = 81,
445
schang86c22c42013-03-13 18:41:24 -0700446 /*WLAN DAL Set Tx Power Request*/
447 WDI_SET_TX_POWER_REQ = 82,
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700448 WDI_ROAM_SCAN_OFFLOAD_REQ = 83,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530449
450 WDI_TDLS_LINK_ESTABLISH_REQ = 84,
451
Leo Chang9056f462013-08-01 19:21:11 -0700452 /* WLAN FW LPHB config request */
453 WDI_LPHB_CFG_REQ = 85,
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530454
Jeff Johnson295189b2012-06-20 16:38:30 -0700455 WDI_MAX_REQ,
456
457 /*Send a suspend Indication down to HAL*/
458 WDI_HOST_SUSPEND_IND = WDI_MAX_REQ ,
459
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -0800460 /* Send a traffic stats indication to HAL */
461 WDI_TRAFFIC_STATS_IND,
462
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530463 /* DHCP Start Indication */
464 WDI_DHCP_START_IND,
465
466 /* DHCP Stop Indication */
467 WDI_DHCP_STOP_IND,
468
Chet Lanctot186b5732013-03-18 10:26:30 -0700469 /* Drop/Receive unencrypted frames indication to HAL */
470 WDI_EXCLUDE_UNENCRYPTED_IND,
471
Jeff Johnson295189b2012-06-20 16:38:30 -0700472 /*Keep adding the indications to the max request
473 such that we keep them sepparate */
474
475 WDI_MAX_UMAC_IND
476}WDI_RequestEnumType;
477
478/*---------------------------------------------------------------------------
479 WLAN DAL Supported Response Types
480 ---------------------------------------------------------------------------*/
481typedef enum
482{
483 /*WLAN DAL START Response*/
484 WDI_START_RESP = 0,
485
486 /*WLAN DAL STOP Response*/
487 WDI_STOP_RESP = 1,
488
489 /*WLAN DAL STOP Response*/
490 WDI_CLOSE_RESP = 2,
491
492 /*SCAN*/
493 /*WLAN DAL Init Scan Response*/
494 WDI_INIT_SCAN_RESP = 3,
495
496 /*WLAN DAL Start Scan Response*/
497 WDI_START_SCAN_RESP = 4,
498
499 /*WLAN DAL End Scan Response*/
500 WDI_END_SCAN_RESP = 5,
501
502 /*WLAN DAL Finish Scan Response*/
503 WDI_FINISH_SCAN_RESP = 6,
504
505
506 /*ASSOCIATION*/
507 /*WLAN DAL Join Response*/
508 WDI_JOIN_RESP = 7,
509
510 /*WLAN DAL Config BSS Response*/
511 WDI_CONFIG_BSS_RESP = 8,
512
513 /*WLAN DAL Del BSS Response*/
514 WDI_DEL_BSS_RESP = 9,
515
516 /*WLAN DAL Post Assoc Response*/
517 WDI_POST_ASSOC_RESP = 10,
518
519 /*WLAN DAL Del STA Response*/
520 WDI_DEL_STA_RESP = 11,
521
522 /*WLAN DAL Set BSS Key Response*/
523 WDI_SET_BSS_KEY_RESP = 12,
524
525 /*WLAN DAL Remove BSS Key Response*/
526 WDI_RMV_BSS_KEY_RESP = 13,
527
528 /*WLAN DAL Set STA Key Response*/
529 WDI_SET_STA_KEY_RESP = 14,
530
531 /*WLAN DAL Remove STA Key Response*/
532 WDI_RMV_STA_KEY_RESP = 15,
533
534 /*WLAN DAL Add TSpec Response*/
535 WDI_ADD_TS_RESP = 16,
536
537 /*WLAN DAL Delete TSpec Response*/
538 WDI_DEL_TS_RESP = 17,
539
540 /*WLAN DAL Update EDCA Params Response*/
541 WDI_UPD_EDCA_PRMS_RESP = 18,
542
543 /*WLAN DAL Add BA Session Response*/
544 WDI_ADD_BA_SESSION_RESP = 19,
545
546 /*WLAN DAL Delete BA Response*/
547 WDI_DEL_BA_RESP = 20,
548
549 /*WLAN DAL Channel Switch Response*/
550 WDI_CH_SWITCH_RESP = 21,
551
552 /*WLAN DAL Config STA Response*/
553 WDI_CONFIG_STA_RESP = 22,
554
555 /*WLAN DAL Set Link State Response*/
556 WDI_SET_LINK_ST_RESP = 23,
557
558 /*WLAN DAL Get Stats Response*/
559 WDI_GET_STATS_RESP = 24,
560
561 /*WLAN DAL Update Config Response*/
562 WDI_UPDATE_CFG_RESP = 25,
563
564 /* WDI ADD BA Response */
565 WDI_ADD_BA_RESP = 26,
566
567 /* WDI Trigger BA Response */
568 WDI_TRIGGER_BA_RESP = 27,
569
570 /*WLAN DAL Update beacon params Response*/
571 WDI_UPD_BCON_PRMS_RESP = 28,
572
573 /*WLAN DAL Send beacon template Response*/
574 WDI_SND_BCON_RESP = 29,
575
576 /*WLAN DAL Update Probe Response Template Response*/
577 WDI_UPD_PROBE_RSP_TEMPLATE_RESP = 30,
578
579 /*WLAN DAL Set STA Key Response*/
580 WDI_SET_STA_BCAST_KEY_RESP = 31,
581
582 /*WLAN DAL Remove STA Key Response*/
583 WDI_RMV_STA_BCAST_KEY_RESP = 32,
584
585 /*WLAN DAL Set Max Tx Power Response*/
586 WDI_SET_MAX_TX_POWER_RESP = 33,
587
588 /*WLAN DAL Enter IMPS Response*/
589 WDI_ENTER_IMPS_RESP = 34,
590
591 /*WLAN DAL Exit IMPS Response*/
592 WDI_EXIT_IMPS_RESP = 35,
593
594 /*WLAN DAL Enter BMPS Response*/
595 WDI_ENTER_BMPS_RESP = 36,
596
597 /*WLAN DAL Exit BMPS Response*/
598 WDI_EXIT_BMPS_RESP = 37,
599
600 /*WLAN DAL Enter UAPSD Response*/
601 WDI_ENTER_UAPSD_RESP = 38,
602
603 /*WLAN DAL Exit UAPSD Response*/
604 WDI_EXIT_UAPSD_RESP = 39,
605
606 /*WLAN DAL Set UAPSD Param Response*/
607 WDI_SET_UAPSD_PARAM_RESP = 40,
608
609 /*WLAN DAL Update UAPSD Param (SoftAP mode) Response*/
610 WDI_UPDATE_UAPSD_PARAM_RESP = 41,
611
612 /*WLAN DAL Configure RXP filter Response*/
613 WDI_CONFIGURE_RXP_FILTER_RESP = 42,
614
615 /*WLAN DAL Set Beacon filter Response*/
616 WDI_SET_BEACON_FILTER_RESP = 43,
617
618 /*WLAN DAL Remove Beacon filter Response*/
619 WDI_REM_BEACON_FILTER_RESP = 44,
620
621 /*WLAN DAL Set RSSI thresholds Response*/
622 WDI_SET_RSSI_THRESHOLDS_RESP = 45,
623
624 /*WLAN DAL Set RSSI thresholds Response*/
625 WDI_HOST_OFFLOAD_RESP = 46,
626
627 /*WLAN DAL add wowl bc ptrn Response*/
628 WDI_WOWL_ADD_BC_PTRN_RESP = 47,
629
630 /*WLAN DAL delete wowl bc ptrn Response*/
631 WDI_WOWL_DEL_BC_PTRN_RESP = 48,
632
633 /*WLAN DAL enter wowl Response*/
634 WDI_WOWL_ENTER_RESP = 49,
635
636 /*WLAN DAL exit wowl Response*/
637 WDI_WOWL_EXIT_RESP = 50,
638
639 /*WLAN DAL Configure Apps CPU Wakeup state Response*/
640 WDI_CONFIGURE_APPS_CPU_WAKEUP_STATE_RESP = 51,
641
642 /* WLAN NV Download responce */
643 WDI_NV_DOWNLOAD_RESP = 52,
644
645 /*WLAN DAL Flush AC Response*/
646 WDI_FLUSH_AC_RESP = 53,
647
648 /*WLAN DAL Flush AC Response*/
649 WDI_BTAMP_EVENT_RESP = 54,
650
651 /*WLAN DAL Add Aggregated TSpec Response*/
652 WDI_AGGR_ADD_TS_RESP = 55,
653
654 /*Add Self STA Response*/
655 WDI_ADD_STA_SELF_RESP = 56,
656
657 /*Delete Self STA Response*/
658 WDI_DEL_STA_SELF_RESP = 57,
659
Jeff Johnsone7245742012-09-05 17:12:55 -0700660 /*WLAN START OEM_DATA Response*/
661 WDI_START_OEM_DATA_RESP = 58,
Jeff Johnson295189b2012-06-20 16:38:30 -0700662
663 /* WLAN host resume request */
664 WDI_HOST_RESUME_RESP = 59,
665
666 /* WLAN DAL P2P GO Notice Of Absence Response */
667 WDI_P2P_GO_NOTICE_OF_ABSENCE_RESP = 60,
668
669 /* FTM Response from HAL */
670 WDI_FTM_CMD_RESP = 61,
671
672 /*Keep alive response */
673 WDI_KEEP_ALIVE_RESP = 62,
674
675 /* Set PNO Response */
676 WDI_SET_PREF_NETWORK_RESP = 63,
677
678 /* Set RSSI Filter Response */
679 WDI_SET_RSSI_FILTER_RESP = 64,
680
681 /* Update Scan Parameters Resp */
682 WDI_UPDATE_SCAN_PARAMS_RESP = 65,
683
684 //Tx PER Tracking
685 WDI_SET_TX_PER_TRACKING_RESP = 66,
686
687
688
689 /* Packet Filtering Response */
690 WDI_8023_MULTICAST_LIST_RESP = 67,
691
692 WDI_RECEIVE_FILTER_SET_FILTER_RESP = 68,
693
694 WDI_PACKET_COALESCING_FILTER_MATCH_COUNT_RESP = 69,
695
696 WDI_RECEIVE_FILTER_CLEAR_FILTER_RESP = 70,
697
698
699 /* WLAN HAL DUMP Command Response */
700 WDI_HAL_DUMP_CMD_RESP = 71,
701
702 /* WLAN Shutdown Response */
703 WDI_SHUTDOWN_RESP = 72,
704
705 /*Set power parameters response */
706 WDI_SET_POWER_PARAMS_RESP = 73,
707
708 WDI_TSM_STATS_RESP = 74,
709 /* GTK Rekey Offload */
Jeff Johnsone7245742012-09-05 17:12:55 -0700710 WDI_GTK_OFFLOAD_RESP = 75,
711 WDI_GTK_OFFLOAD_GETINFO_RESP = 76,
Jeff Johnson295189b2012-06-20 16:38:30 -0700712
713 WDI_SET_TM_LEVEL_RESP = 77,
714
715 /* FW sends its capability bitmap as a response */
716 WDI_FEATURE_CAPS_EXCHANGE_RESP = 78,
717
Mohit Khanna4a70d262012-09-11 16:30:12 -0700718#ifdef WLAN_FEATURE_11AC
719 WDI_UPDATE_VHT_OP_MODE_RESP = 79,
720#endif
721
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -0800722 /* WLAN DAL Get Roam Rssi Response*/
723 WDI_GET_ROAM_RSSI_RESP = 80,
724
schang86c22c42013-03-13 18:41:24 -0700725 WDI_SET_TX_POWER_RESP = 81,
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700726 WDI_ROAM_SCAN_OFFLOAD_RESP = 82,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530727
728 WDI_TDLS_LINK_ESTABLISH_REQ_RESP = 83,
Leo Chang9056f462013-08-01 19:21:11 -0700729
730 /* WLAN FW LPHB Config response */
731 WDI_LPHB_CFG_RESP = 84,
732
Jeff Johnson295189b2012-06-20 16:38:30 -0700733 /*-------------------------------------------------------------------------
734 Indications
735 !! Keep these last in the enum if possible
736 -------------------------------------------------------------------------*/
737 WDI_HAL_IND_MIN ,
738 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
739 passed. */
740 WDI_HAL_RSSI_NOTIFICATION_IND = WDI_HAL_IND_MIN,
741
742 /*Link loss in the low MAC */
743 WDI_HAL_MISSED_BEACON_IND = WDI_HAL_IND_MIN + 1,
744
745 /*When hardware has signaled an unknown addr2 frames. The indication will
746 contain info from frames to be passed to the UMAC, this may use this info to
747 deauth the STA*/
748 WDI_HAL_UNKNOWN_ADDR2_FRAME_RX_IND = WDI_HAL_IND_MIN + 2,
749
750 /*MIC Failure detected by HW*/
751 WDI_HAL_MIC_FAILURE_IND = WDI_HAL_IND_MIN + 3,
752
753 /*Fatal Error Ind*/
754 WDI_HAL_FATAL_ERROR_IND = WDI_HAL_IND_MIN + 4,
755
756 /*Received when the RIVA SW decides to autonomously delete an associate
757 station (e.g. Soft AP TIM based dissassoc) */
758 WDI_HAL_DEL_STA_IND = WDI_HAL_IND_MIN + 5,
759
760 /*Coex indication*/
761 WDI_HAL_COEX_IND = WDI_HAL_IND_MIN + 6,
762
763 /* Tx Complete Indication */
764 WDI_HAL_TX_COMPLETE_IND = WDI_HAL_IND_MIN + 7,
765
766 WDI_HAL_P2P_NOA_ATTR_IND = WDI_HAL_IND_MIN + 8,
767
768 /* Preferred Network Found Indication */
769 WDI_HAL_PREF_NETWORK_FOUND_IND = WDI_HAL_IND_MIN + 9,
770
771 /* Wakeup Reason Indication */
772 WDI_HAL_WAKE_REASON_IND = WDI_HAL_IND_MIN + 10,
773
774 /* Tx PER Hit Indication */
775 WDI_HAL_TX_PER_HIT_IND = WDI_HAL_IND_MIN + 11,
Viral Modid86bde22012-12-10 13:09:21 -0800776
777 /* NOA Start Indication from FW to Host */
778 WDI_HAL_P2P_NOA_START_IND = WDI_HAL_IND_MIN + 12,
779
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530780 /* TDLS Indication from FW to Host */
781 WDI_HAL_TDLS_IND = WDI_HAL_IND_MIN + 13,
782
Leo Chang9056f462013-08-01 19:21:11 -0700783 /* LPHB timeout indication */
784 WDI_HAL_LPHB_WAIT_TIMEOUT_IND = WDI_HAL_IND_MIN + 14,
Jeff Johnson295189b2012-06-20 16:38:30 -0700785 WDI_MAX_RESP
786}WDI_ResponseEnumType;
787
788typedef struct
789{
790 /*Flag that marks a session as being in use*/
791 wpt_boolean bInUse;
792
793 /*Flag that keeps track if a series of assoc requests for this BSS are
794 currently pending in the queue or processed
795 - the flag is set to true when the Join request ends up being queued
796 - and reset to false when the Pending queue is empty */
797 wpt_boolean bAssocReqQueued;
798
799 /*BSSID of the session*/
800 wpt_macAddr macBSSID;
801
802 /*BSS Index associated with this BSSID*/
803 wpt_uint8 ucBSSIdx;
804
805 /*Associated state of the current BSS*/
806 WDI_AssocStateType wdiAssocState;
807
808 /*WDI Pending Request Queue*/
809 wpt_list wptPendingQueue;
810
811 /*DPU Information for this BSS*/
812 wpt_uint8 bcastDpuIndex;
813 wpt_uint8 bcastDpuSignature;
814 wpt_uint8 bcastMgmtDpuIndex;
815 wpt_uint8 bcastMgmtDpuSignature;
816
817 /*RMF enabled/disabled*/
818 wpt_uint8 ucRmfEnabled;
819
820 /*Bcast STA ID associated with this BSS session */
821 wpt_uint8 bcastStaIdx;
822
823 /*The type of the BSS in the session */
824 WDI_BssType wdiBssType;
825}WDI_BSSSessionType;
826
827/*---------------------------------------------------------------------------
828 WDI_ConfigBSSRspInfoType
829---------------------------------------------------------------------------*/
830typedef WPT_PACK_PRE struct
831{
832 /*BSS index allocated by HAL*/
833 wpt_uint8 ucBSSIdx;
834
835 /*BSSID of the BSS*/
836 wpt_macAddr macBSSID;
837
838 /*Broadcast DPU descriptor index allocated by HAL and used for
839 broadcast/multicast packets.*/
840 wpt_uint8 ucBcastDpuDescIndx;
841
842 /*DPU signature to be used for broadcast/multicast packets*/
843 wpt_uint8 ucBcastDpuSignature;
844
845 /*DPU descriptor index allocated by HAL, used for bcast/mcast management
846 packets*/
847 wpt_uint8 ucMgmtDpuDescIndx;
848
849 /*DPU signature to be used for bcast/mcast management packets*/
850 wpt_uint8 ucMgmtDpuSignature;
851
852 /*Status of the request received from HAL */
853 eHalStatus halStatus;
854}WPT_PACK_POST WDI_ConfigBSSRspInfoType;
855
856
857/*---------------------------------------------------------------------------
858 WDI_PostAssocRspInfoType
859---------------------------------------------------------------------------*/
860typedef WPT_PACK_PRE struct
861{
862 /*STA Index allocated by HAL.*/
863 wpt_uint16 usSTAIdx;
864
865 /*MAC Address of STA*/
866 wpt_macAddr macSTA;
867
868 /*Unicast DPU signature*/
869 wpt_uint8 ucUcastSig;
870
871 /*Broadcast DPU Signature*/
872 wpt_uint8 ucBcastSig;
873
874 /*BSSID of the BSS*/
875 wpt_macAddr macBSSID;
876
877 /*HAL Status */
878 eHalStatus halStatus;
879}WPT_PACK_POST WDI_PostAssocRspInfoType;
880
881/*---------------------------------------------------------------------------
882 WLAN DAL FSM Event Info Type
883 ---------------------------------------------------------------------------*/
884typedef struct
885{
886 /*Events can be linked in a list - put a node in front for that, it will be
887 used by wpt to link them*/
888 wpt_list_node wptListNode;
889
890 /*Request Received */
891 WDI_RequestEnumType wdiRequest;
892
893 /*Response Received */
894 WDI_ResponseEnumType wdiResponse;
895
896 /*Data associated with the request */
897 void* pEventData;
898
899 /*Data Size*/
900 wpt_uint32 uEventDataSize;
901
902 /*Callback function for receiving the response to the event*/
903 void* pCBfnc;
904
905 /*User data to be sent along with the CB function call*/
906 void* pUserData;
907}WDI_EventInfoType;
908
909/*---------------------------------------------------------------------------
910 WLAN DAL Session Index Type
911 ---------------------------------------------------------------------------*/
912typedef struct
913{
914 /*Events can be linked in a list - put a node in front for that, it will be
915 used by wpt to link them*/
916 wpt_list_node wptListNode;
917
918 /*Session id for the new association to be processed*/
919 wpt_uint8 ucIndex;
920
921}WDI_NextSessionIdType;
922
923#define WDI_CONTROL_BLOCK_MAGIC 0x67736887 /* WDIC in little endian */
924/*---------------------------------------------------------------------------
925 WLAN DAL Control Block Type
926 ---------------------------------------------------------------------------*/
927typedef struct
928{
929 /*magic number so callbacks can validate their context pointers*/
930 wpt_uint32 magic;
931
932 /*Ptr to the OS Context received from the UMAC*/
933 void* pOSContext;
934
935 /*Ptr to the PAL Context received from PAL*/
936 void* pPALContext;
937
938 /*Ptr to the Datapath Context received from PAL*/
939 void* pDPContext;
940
941 /*Ptr to the Datapath Transport Driver Context received from PAL*/
942 void* pDTDriverContext;
943
944 /*Hanlde to the control transport service*/
945 WCTS_HandleType wctsHandle;
946
947 /*Flag that keeps track if CT is Opened or not*/
948 wpt_boolean bCTOpened;
949
950 /*The global state of the DAL Control Path*/
951 WDI_MainStateType uGlobalState;
952
953 /*Flag to keep track of the expected state transition after processing
954 of a response */
955 WDI_MainStateType ucExpectedStateTransition;
956
957 /*Main Synchronization Object for the WDI CB*/
958 wpt_mutex wptMutex;
959
960 /*WDI response timer*/
961 wpt_timer wptResponseTimer;
962
963 /*WDI Pending Request Queue*/
964 wpt_list wptPendingQueue;
965#if 0
966 /*The state of the DAL during a scanning procedure*/
967 WDI_ScanStateType uScanState;
968
969 /*Flag that keeps track if a Scan is currently in progress*/
970 wpt_boolean bScanInProgress;
971#endif
972 /*Flag that keeps track if an Association is currently in progress*/
973 wpt_boolean bAssociationInProgress;
974
975 /*Array of simultaneous BSS Sessions*/
976 WDI_BSSSessionType aBSSSessions[WDI_MAX_BSS_SESSIONS];
977
978 /*WDI Pending Association Session Id Queue - it keeps track of the
979 order in which queued assoc requests came in*/
980 wpt_list wptPendingAssocSessionIdQueue;
981
982 /*! TO DO : - group these in a union, only one cached req can exist at a
983 time */
984
985 /*Cached post assoc request - there can only be one in the system as
986 only one request goes down to hal up until a response is received
987 The values cached are used on response to save a station if needed */
988 WDI_PostAssocReqParamsType wdiCachedPostAssocReq;
989
990 /*Cached config sta request - there can only be one in the system as
991 only one request goes down to hal up until a response is received
992 The values cached are used on response to save a station if needed */
993 WDI_ConfigSTAReqParamsType wdiCachedConfigStaReq;
994
995 /*Cached config sta request - there can only be one in the system as
996 only one request goes down to hal up until a response is received
997 The values cached are used on response to save a BSS if needed */
998 WDI_ConfigBSSReqParamsType wdiCachedConfigBssReq;
999
1000 /*Cached set link state request - there can only be one in the system as
1001 only one request goes down to hal up until a response is received
1002 The values cached are used on response to delete a BSS if needed */
1003 WDI_SetLinkReqParamsType wdiCacheSetLinkStReq;
1004
1005 /*Cached add STA self request - there can only be one in the system as
1006 only one request goes down to hal up until a response is received
1007 The values cached are used on response to save the self STA in the table */
1008 WDI_AddSTASelfReqParamsType wdiCacheAddSTASelfReq;
1009
1010 /*Current session being handled*/
1011 wpt_uint8 ucCurrentBSSSesIdx;
1012
1013 /*Pointer to the response CB of the pending request*/
1014 void* pfncRspCB;
1015
1016 /*Pointer to the user data to be sent along with the response CB*/
1017 void* pRspCBUserData;
1018
1019 /*The expected response from HAL*/
1020 WDI_ResponseEnumType wdiExpectedResponse;
1021
1022 /*Request status callback offered by UMAC - it is called if the current
1023 req has returned PENDING as status; it delivers the status of sending
1024 the message over the BUS */
1025 WDI_ReqStatusCb wdiReqStatusCB;
1026
1027 /*The user data passed in by UMAC, it will be sent back when the above
1028 function pointer will be called */
1029 void* pReqStatusUserData;
1030
1031 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1032 wishes to send something back independent of a request*/
1033 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1034
1035 /*The user data passed in by UMAC, it will be sent back when the indication
1036 function pointer will be called */
1037 void* pIndUserData;
1038
1039 /*Cached start response parameters*/
1040 WDI_StartRspParamsType wdiCachedStartRspParams;
1041
1042 /* Information related to NV Image*/
1043 WDI_NvBlobInfoParams wdiNvBlobInfo;
1044
1045 /*STA Table Information*/
1046 /*Max number of stations allowed by device */
1047 wpt_uint8 ucMaxStations;
1048
1049 /*Max number of BSSes allowed by device */
1050 wpt_uint8 ucMaxBssids;
1051
1052 /* Global BSS and STA table - Memory is allocated when needed.*/
1053 void* staTable;
1054
1055#ifndef HAL_SELF_STA_PER_BSS
1056 /*Index of the Self STA */
1057 wpt_uint8 ucSelfStaId;
1058
1059 /* Self STA DPU Index */
1060 wpt_uint16 usSelfStaDpuId;
1061
1062 /*Self STA Mac*/
1063 wpt_macAddr macSelfSta;
1064#endif
1065
1066 /*Is frame translation enabled */
1067 wpt_uint8 bFrameTransEnabled;
1068
1069 /*AMSDU BD Fix Mask - used by the Fixing routine for Data Path */
1070 WDI_RxBdType wdiRxAmsduBdFixMask;
1071
1072 /*First AMSDU BD - used by the Fixing routine for Data Path */
1073 WDI_RxBdType wdiRxAmsduFirstBdCache;
1074
1075 /*This must be incremented on sta change */
1076 wpt_uint32 uBdSigSerialNum;
1077
1078 /* dpu routing flag
1079 ! TO DO: - must be set/reset when PS is enabled for UAPSD */
1080 wpt_uint8 ucDpuRF;
1081 /* Event to wait for when WCTS is told to perform an action */
1082 wpt_event wctsActionEvent;
1083 /* Event to wait for ACK from DXE after the power state is set */
1084 wpt_event setPowerStateEvent;
1085 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
1086 DXE when DXE wakes up from power save*/
1087 unsigned int dxePhyAddr;
1088
1089 /*NV download request parameters */
1090 WDI_NvDownloadReqParamsType wdiCachedNvDownloadReq;
1091
1092 /* Driver Type */
1093 tDriverType driverMode;
1094
Jeff Johnson295189b2012-06-20 16:38:30 -07001095 /* Statically allocated FTM Response Buffer */
1096 wpt_uint8 ucFTMCommandRspBuffer[WDI_FTM_MAX_RECEIVE_BUFFER];
Jeff Johnson295189b2012-06-20 16:38:30 -07001097
1098 /*Driver in BMPS state*/
1099 wpt_boolean bInBmps;
1100
1101 /*version of the PNO implementation in RIVA*/
1102 wpt_uint8 wdiPNOVersion;
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -07001103
1104 /*SSR timer*/
1105 wpt_timer ssrTimer;
Pratik Bhalgatd4404592012-11-22 17:49:14 +05301106
1107 /*Version of the WLAN HAL API received on start resp*/
1108 WDI_WlanVersionType wlanVersion;
1109
Gopichand Nakkalaa5e3ede2012-12-21 15:28:36 -08001110 /*timestamp when we start response timer*/
1111 wpt_uint32 uTimeStampRspTmrStart;
1112
1113 /*timestamp when we get response timer event*/
1114 wpt_uint32 uTimeStampRspTmrExp;
Gopichand Nakkala7fbde852013-05-07 03:05:56 -07001115
1116 /* enable/disable SSR on WDI timeout */
1117 wpt_boolean bEnableSSR;
Jeff Johnson295189b2012-06-20 16:38:30 -07001118}WDI_ControlBlockType;
1119
1120
1121
1122
1123/*---------------------------------------------------------------------------
1124
1125 DESCRIPTION
1126 WLAN DAL Request Processing function definition.
1127
1128 PARAMETERS
1129
1130 IN
1131 pWDICtx: pointer to the WLAN DAL context
1132 pEventData: pointer to the event information structure
1133
1134
1135 RETURN VALUE
1136 The result code associated with performing the operation
1137
1138---------------------------------------------------------------------------*/
1139typedef WDI_Status (*WDI_ReqProcFuncType)( WDI_ControlBlockType* pWDICtx,
1140 WDI_EventInfoType* pEventData);
1141
1142
1143/*---------------------------------------------------------------------------
1144
1145 DESCRIPTION
1146 WLAN DAL Response Processing function definition.
1147
1148 PARAMETERS
1149
1150 IN
1151 pWDICtx: pointer to the WLAN DAL context
1152 pEventData: pointer to the event information structure
1153
1154
1155 RETURN VALUE
1156 The result code associated with performing the operation
1157
1158---------------------------------------------------------------------------*/
1159typedef WDI_Status (*WDI_RspProcFuncType)( WDI_ControlBlockType* pWDICtx,
1160 WDI_EventInfoType* pEventData);
1161
1162
1163
1164
1165/*==========================================================================
1166 MAIN DAL FSM Definitions and Declarations
1167==========================================================================*/
1168
1169/*---------------------------------------------------------------------------
1170 DAL Control Path Main FSM
1171 ---------------------------------------------------------------------------*/
1172#define WDI_STATE_TRANSITION(_pctx, _st) (_pctx->uGlobalState = _st)
1173
1174
1175
1176/*---------------------------------------------------------------------------
1177 DAL Main Event type
1178---------------------------------------------------------------------------*/
1179typedef enum
1180{
1181 /* Start request received from UMAC */
1182 WDI_START_EVENT = 0,
1183
1184 /* Stop request received from UMAC */
1185 WDI_STOP_EVENT = 1,
1186
1187 /* HAL request received from UMAC*/
1188 WDI_REQUEST_EVENT = 2,
1189
1190 /* HAL Response received from device */
1191 WDI_RESPONSE_EVENT = 3,
1192
1193 /* Close request received from UMAC */
1194 WDI_CLOSE_EVENT = 4,
1195
1196 /* Shutdown request received from UMAC */
1197 WDI_SHUTDOWN_EVENT = 5,
1198
1199 WDI_MAX_EVENT
1200
1201}WDI_MainEventType;
1202
1203/*---------------------------------------------------------------------------
1204
1205 DESCRIPTION
1206 Main DAL state machine function definition.
1207
1208 PARAMETERS
1209
1210 IN
1211 pWDICtx: pointer to the WLAN DAL context
1212 pEventData: pointer to the event information structure
1213
1214
1215 RETURN VALUE
1216 The result code associated with performing the operation
1217
1218---------------------------------------------------------------------------*/
1219typedef WDI_Status (*WDI_MainFuncType)( WDI_ControlBlockType* pWDICtx,
1220 WDI_EventInfoType* pEventData);
1221
1222/*---------------------------------------------------------------------------
1223 MAIN DAL FSM Entry type
1224---------------------------------------------------------------------------*/
1225typedef struct
1226{
1227 WDI_MainFuncType pfnMainTbl[WDI_MAX_EVENT];
1228} WDI_MainFsmEntryType;
1229
1230/*Macro to check for valid session id*/
1231#define WDI_VALID_SESSION_IDX(_idx) ( _idx < WDI_MAX_BSS_SESSIONS )
1232
1233/*==========================================================================
1234
1235 DAL INTERNAL FUNCTION DECLARATION
1236
1237==========================================================================*/
1238
1239/**
1240 @brief Helper routine for retrieving the PAL Context from WDI -
1241 can be used by CTS, DTS, DXE and othe DAL internals
1242
1243 @param None
1244
1245 @see
1246 @return pointer to the context
1247*/
Jeff Johnson43971f52012-07-17 12:26:56 -07001248void* WDI_GET_PAL_CTX( void );
Jeff Johnson295189b2012-06-20 16:38:30 -07001249
1250/*---------------------------------------------------------------------------
1251 MAIN DAL FSM Function Declarations
1252---------------------------------------------------------------------------*/
1253/**
1254 @brief WDI_PostMainEvent - Posts an event to the Main FSM
1255
1256
1257 @param pWDICtx: pointer to the WLAN DAL context
1258 wdiEV: event posted to the main DAL FSM
1259 pEventData: pointer to the event information
1260 structure
1261
1262 @see
1263 @return Result of the function call
1264*/
1265WDI_Status
1266WDI_PostMainEvent
1267(
1268 WDI_ControlBlockType* pWDICtx,
1269 WDI_MainEventType wdiEV,
1270 WDI_EventInfoType* pEventData
1271
1272);
1273
1274/*--------------------------------------------------------------------------
1275 INIT State Functions
1276--------------------------------------------------------------------------*/
1277/**
1278 @brief Main FSM Start function for all states except BUSY
1279
1280
1281 @param pWDICtx: pointer to the WLAN DAL context
1282 pEventData: pointer to the event information structure
1283
1284 @see
1285 @return Result of the function call
1286*/
1287WDI_Status
1288WDI_MainStart
1289(
1290 WDI_ControlBlockType* pWDICtx,
1291 WDI_EventInfoType* pEventData
1292);
1293
1294/**
1295 @brief Main FSM Response function for state INIT
1296
1297
1298 @param pWDICtx: pointer to the WLAN DAL context
1299 pEventData: pointer to the event information structure
1300
1301 @see
1302 @return Result of the function call
1303*/
1304WDI_Status
1305WDI_MainRspInit
1306(
1307 WDI_ControlBlockType* pWDICtx,
1308 WDI_EventInfoType* pEventData
1309);
1310
1311/**
1312 @brief Main FSM Close function for all states except BUSY
1313
1314
1315 @param pWDICtx: pointer to the WLAN DAL context
1316 pEventData: pointer to the event information structure
1317
1318
1319 @see
1320 @return Result of the function call
1321*/
1322WDI_Status
1323WDI_MainClose
1324(
1325 WDI_ControlBlockType* pWDICtx,
1326 WDI_EventInfoType* pEventData
1327);
1328
1329/*--------------------------------------------------------------------------
1330 STARTED State Functions
1331--------------------------------------------------------------------------*/
1332/**
1333 @brief Main FSM Start function for state STARTED
1334
1335
1336 @param pWDICtx: pointer to the WLAN DAL context
1337 pEventData: pointer to the event information structure
1338
1339 @see
1340 @return Result of the function call
1341*/
1342WDI_Status
1343WDI_MainStartStarted
1344(
1345 WDI_ControlBlockType* pWDICtx,
1346 WDI_EventInfoType* pEventData
1347);
1348
1349/**
1350 @brief Main FSM Stop function for state STARTED
1351
1352
1353 @param pWDICtx: pointer to the WLAN DAL context
1354 pEventData: pointer to the event information structure
1355 uEventDataSize: size of the data sent in event
1356 pCBfnc: cb function for event response
1357 pUserData: user data
1358
1359 @see
1360 @return Result of the function call
1361*/
1362WDI_Status
1363WDI_MainStopStarted
1364(
1365 WDI_ControlBlockType* pWDICtx,
1366 WDI_EventInfoType* pEventData
1367);
1368
1369/**
1370 @brief Main FSM Request function for state started
1371
1372
1373 @param pWDICtx: pointer to the WLAN DAL context
1374 pEventData: pointer to the event information structure
1375
1376
1377 @see
1378 @return Result of the function call
1379*/
1380WDI_Status
1381WDI_MainReqStarted
1382(
1383 WDI_ControlBlockType* pWDICtx,
1384 WDI_EventInfoType* pEventData
1385);
1386
1387/**
1388 @brief Main FSM Response function for all states except INIT
1389
1390
1391 @param pWDICtx: pointer to the WLAN DAL context
1392 pEventData: pointer to the event information structure
1393
1394 @see
1395 @return Result of the function call
1396*/
1397WDI_Status
1398WDI_MainRsp
1399(
1400 WDI_ControlBlockType* pWDICtx,
1401 WDI_EventInfoType* pEventData
1402);
1403
1404/*--------------------------------------------------------------------------
1405 STOPPED State Functions
1406--------------------------------------------------------------------------*/
1407/**
1408 @brief Main FSM Stop function for state STOPPED
1409
1410
1411 @param pWDICtx: pointer to the WLAN DAL context
1412 pEventData: pointer to the event information structure
1413
1414 @see
1415 @return Result of the function call
1416*/
1417WDI_Status
1418WDI_MainStopStopped
1419(
1420 WDI_ControlBlockType* pWDICtx,
1421 WDI_EventInfoType* pEventData
1422 );
1423
1424/*--------------------------------------------------------------------------
1425 BUSY State Functions
1426--------------------------------------------------------------------------*/
1427/**
1428 @brief Main FSM Start function for state BUSY
1429
1430
1431 @param pWDICtx: pointer to the WLAN DAL context
1432 pEventData: pointer to the event information structure
1433
1434 @see
1435 @return Result of the function call
1436*/
1437WDI_Status
1438WDI_MainStartBusy
1439(
1440 WDI_ControlBlockType* pWDICtx,
1441 WDI_EventInfoType* pEventData
1442);
1443
1444/**
1445 @brief Main FSM Stop function for state BUSY
1446
1447
1448 @param pWDICtx: pointer to the WLAN DAL context
1449 pEventData: pointer to the event information structure
1450
1451 @see
1452 @return Result of the function call
1453*/
1454WDI_Status
1455WDI_MainStopBusy
1456(
1457 WDI_ControlBlockType* pWDICtx,
1458 WDI_EventInfoType* pEventData
1459);
1460
1461/**
1462 @brief Main FSM Request function for state BUSY
1463
1464
1465 @param pWDICtx: pointer to the WLAN DAL context
1466 pEventData: pointer to the event information structure
1467
1468 @see
1469 @return Result of the function call
1470*/
1471WDI_Status
1472WDI_MainReqBusy
1473(
1474 WDI_ControlBlockType* pWDICtx,
1475 WDI_EventInfoType* pEventData
1476);
1477
1478/**
1479 @brief Main FSM Close function for state BUSY
1480
1481
1482 @param pWDICtx: pointer to the WLAN DAL context
1483 pEventData: pointer to the event information structure
1484
1485 @see
1486 @return Result of the function call
1487*/
1488WDI_Status
1489WDI_MainCloseBusy
1490(
1491 WDI_ControlBlockType* pWDICtx,
1492 WDI_EventInfoType* pEventData
1493);
1494
1495/**
1496 @brief Main FSM Shutdown function for INIT & STARTED states
1497
1498
1499 @param pWDICtx: pointer to the WLAN DAL context
1500 pEventData: pointer to the event information structure
1501
1502 @see
1503 @return Result of the function call
1504*/
1505WDI_Status
1506WDI_MainShutdown
1507(
1508 WDI_ControlBlockType* pWDICtx,
1509 WDI_EventInfoType* pEventData
1510);
1511
1512/**
1513 @brief Main FSM Shutdown function for BUSY state
1514
1515
1516 @param pWDICtx: pointer to the WLAN DAL context
1517 pEventData: pointer to the event information structure
1518
1519 @see
1520 @return Result of the function call
1521*/
1522WDI_Status
1523WDI_MainShutdownBusy
1524(
1525 WDI_ControlBlockType* pWDICtx,
1526 WDI_EventInfoType* pEventData
1527);
1528
1529/*========================================================================
1530 Main DAL Control Path Request Processing API
1531========================================================================*/
1532
1533/**
1534 @brief Process Start Request function (called when Main FSM
1535 allows it)
1536
1537 @param pWDICtx: pointer to the WLAN DAL context
1538 pEventData: pointer to the event information structure
1539
1540 @see
1541 @return Result of the function call
1542*/
1543WDI_Status
1544WDI_ProcessStartReq
1545(
1546 WDI_ControlBlockType* pWDICtx,
1547 WDI_EventInfoType* pEventData
1548);
1549
1550
1551/**
1552 @brief Process Stop Request function (called when Main FSM
1553 allows it)
1554
1555 @param pWDICtx: pointer to the WLAN DAL context
1556 pEventData: pointer to the event information structure
1557
1558 @see
1559 @return Result of the function call
1560*/
1561WDI_Status
1562WDI_ProcessStopReq
1563(
1564 WDI_ControlBlockType* pWDICtx,
1565 WDI_EventInfoType* pEventData
1566);
1567
1568
1569/**
1570 @brief Process Close Request function (called when Main FSM
1571 allows it)
1572
1573 @param pWDICtx: pointer to the WLAN DAL context
1574 pEventData: pointer to the event information structure
1575
1576 @see
1577 @return Result of the function call
1578*/
1579WDI_Status
1580WDI_ProcessCloseReq
1581(
1582 WDI_ControlBlockType* pWDICtx,
1583 WDI_EventInfoType* pEventData
1584);
1585
1586/**
1587 @brief Process Shutdown Request function (called when Main FSM
1588 allows it)
1589
1590 @param pWDICtx: pointer to the WLAN DAL context
1591 pEventData: pointer to the event information structure
1592
1593 @see
1594 @return Result of the function call
1595*/
1596WDI_Status
1597WDI_ProcessShutdownReq
1598(
1599 WDI_ControlBlockType* pWDICtx,
1600 WDI_EventInfoType* pEventData
1601);
1602
1603
1604/**
1605 @brief Process Init Scan Request function (called when Main FSM
1606 allows it)
1607
1608 @param pWDICtx: pointer to the WLAN DAL context
1609 pEventData: pointer to the event information structure
1610
1611 @see
1612 @return Result of the function call
1613*/
1614WDI_Status
1615WDI_ProcessInitScanReq
1616(
1617 WDI_ControlBlockType* pWDICtx,
1618 WDI_EventInfoType* pEventData
1619);
1620
1621
1622/**
1623 @brief Process Start Scan Request function (called when Main
1624 FSM allows it)
1625
1626 @param pWDICtx: pointer to the WLAN DAL context
1627 pEventData: pointer to the event information structure
1628
1629 @see
1630 @return Result of the function call
1631*/
1632WDI_Status
1633WDI_ProcessStartScanReq
1634(
1635 WDI_ControlBlockType* pWDICtx,
1636 WDI_EventInfoType* pEventData
1637);
1638
1639
1640/**
1641 @brief Process End Scan Request function (called when Main FSM
1642 allows it)
1643
1644 @param pWDICtx: pointer to the WLAN DAL context
1645 pEventData: pointer to the event information structure
1646
1647 @see
1648 @return Result of the function call
1649*/
1650WDI_Status
1651WDI_ProcessEndScanReq
1652(
1653 WDI_ControlBlockType* pWDICtx,
1654 WDI_EventInfoType* pEventData
1655);
1656
1657
1658/**
1659 @brief Process Finish Scan Request function (called when Main
1660 FSM allows it)
1661
1662 @param pWDICtx: pointer to the WLAN DAL context
1663 pEventData: pointer to the event information structure
1664
1665 @see
1666 @return Result of the function call
1667*/
1668WDI_Status
1669WDI_ProcessFinishScanReq
1670(
1671 WDI_ControlBlockType* pWDICtx,
1672 WDI_EventInfoType* pEventData
1673);
1674
1675
1676/**
1677 @brief Process Join Request function (called when Main FSM
1678 allows it)
1679
1680 @param pWDICtx: pointer to the WLAN DAL context
1681 pEventData: pointer to the event information structure
1682
1683 @see
1684 @return Result of the function call
1685*/
1686WDI_Status
1687WDI_ProcessJoinReq
1688(
1689 WDI_ControlBlockType* pWDICtx,
1690 WDI_EventInfoType* pEventData
1691);
1692
1693
1694/**
1695 @brief Process Config BSS Request function (called when Main
1696 FSM allows it)
1697
1698 @param pWDICtx: pointer to the WLAN DAL context
1699 pEventData: pointer to the event information structure
1700
1701 @see
1702 @return Result of the function call
1703*/
1704WDI_Status
1705WDI_ProcessConfigBSSReq
1706(
1707 WDI_ControlBlockType* pWDICtx,
1708 WDI_EventInfoType* pEventData
1709);
1710
1711
1712/**
1713 @brief Process Del BSS Request function (called when Main FSM
1714 allows it)
1715
1716 @param pWDICtx: pointer to the WLAN DAL context
1717 pEventData: pointer to the event information structure
1718
1719 @see
1720 @return Result of the function call
1721*/
1722WDI_Status
1723WDI_ProcessDelBSSReq
1724(
1725 WDI_ControlBlockType* pWDICtx,
1726 WDI_EventInfoType* pEventData
1727);
1728
1729/**
1730 @brief Process Post Assoc Request function (called when Main
1731 FSM allows it)
1732
1733 @param pWDICtx: pointer to the WLAN DAL context
1734 pEventData: pointer to the event information structure
1735
1736 @see
1737 @return Result of the function call
1738*/
1739WDI_Status
1740WDI_ProcessPostAssocReq
1741(
1742 WDI_ControlBlockType* pWDICtx,
1743 WDI_EventInfoType* pEventData
1744);
1745
1746/**
1747 @brief Process Del STA Request function (called when Main FSM
1748 allows it)
1749
1750 @param pWDICtx: pointer to the WLAN DAL context
1751 pEventData: pointer to the event information structure
1752
1753 @see
1754 @return Result of the function call
1755*/
1756WDI_Status
1757WDI_ProcessDelSTAReq
1758(
1759 WDI_ControlBlockType* pWDICtx,
1760 WDI_EventInfoType* pEventData
1761);
1762
1763/**
1764 @brief Process Set BSS Key Request function (called when Main FSM
1765 allows it)
1766
1767 @param pWDICtx: pointer to the WLAN DAL context
1768 pEventData: pointer to the event information structure
1769
1770 @see
1771 @return Result of the function call
1772*/
1773WDI_Status
1774WDI_ProcessSetBssKeyReq
1775(
1776 WDI_ControlBlockType* pWDICtx,
1777 WDI_EventInfoType* pEventData
1778);
1779
1780/**
1781 @brief Process Remove BSS Key Request function (called when Main
1782 FSM allows it)
1783
1784 @param pWDICtx: pointer to the WLAN DAL context
1785 pEventData: pointer to the event information structure
1786
1787 @see
1788 @return Result of the function call
1789*/
1790WDI_Status
1791WDI_ProcessRemoveBssKeyReq
1792(
1793 WDI_ControlBlockType* pWDICtx,
1794 WDI_EventInfoType* pEventData
1795);
1796
1797/**
1798 @brief Process Set STA KeyRequest function (called when Main FSM
1799 allows it)
1800
1801 @param pWDICtx: pointer to the WLAN DAL context
1802 pEventData: pointer to the event information structure
1803
1804 @see
1805 @return Result of the function call
1806*/
1807WDI_Status
1808WDI_ProcessSetStaKeyReq
1809(
1810 WDI_ControlBlockType* pWDICtx,
1811 WDI_EventInfoType* pEventData
1812);
1813
1814/**
1815 @brief Process Remove STA Key Request function (called when
1816 Main FSM allows it)
1817
1818 @param pWDICtx: pointer to the WLAN DAL context
1819 pEventData: pointer to the event information structure
1820
1821 @see
1822 @return Result of the function call
1823*/
1824WDI_Status
1825WDI_ProcessRemoveStaKeyReq
1826(
1827 WDI_ControlBlockType* pWDICtx,
1828 WDI_EventInfoType* pEventData
1829);
1830
1831/**
1832 @brief Process Set STA KeyRequest function (called when Main FSM
1833 allows it)
1834
1835 @param pWDICtx: pointer to the WLAN DAL context
1836 pEventData: pointer to the event information structure
1837
1838 @see
1839 @return Result of the function call
1840*/
1841WDI_Status
1842WDI_ProcessSetStaBcastKeyReq
1843(
1844 WDI_ControlBlockType* pWDICtx,
1845 WDI_EventInfoType* pEventData
1846);
1847
1848/**
1849 @brief Process Remove STA Key Request function (called when
1850 Main FSM allows it)
1851
1852 @param pWDICtx: pointer to the WLAN DAL context
1853 pEventData: pointer to the event information structure
1854
1855 @see
1856 @return Result of the function call
1857*/
1858WDI_Status
1859WDI_ProcessRemoveStaBcastKeyReq
1860(
1861 WDI_ControlBlockType* pWDICtx,
1862 WDI_EventInfoType* pEventData
1863);
1864
1865/**
1866 @brief Process Add TSpec Request function (called when Main FSM
1867 allows it)
1868
1869 @param pWDICtx: pointer to the WLAN DAL context
1870 pEventData: pointer to the event information structure
1871
1872 @see
1873 @return Result of the function call
1874*/
1875WDI_Status
1876WDI_ProcessAddTSpecReq
1877(
1878 WDI_ControlBlockType* pWDICtx,
1879 WDI_EventInfoType* pEventData
1880);
1881
1882
1883/**
1884 @brief Process Del TSpec Request function (called when Main FSM
1885 allows it)
1886
1887 @param pWDICtx: pointer to the WLAN DAL context
1888 pEventData: pointer to the event information structure
1889
1890 @see
1891 @return Result of the function call
1892*/
1893WDI_Status
1894WDI_ProcessDelTSpecReq
1895(
1896 WDI_ControlBlockType* pWDICtx,
1897 WDI_EventInfoType* pEventData
1898);
1899
1900/**
1901 @brief Process Update EDCA Params Request function (called when
1902 Main FSM allows it)
1903
1904 @param pWDICtx: pointer to the WLAN DAL context
1905 pEventData: pointer to the event information structure
1906
1907 @see
1908 @return Result of the function call
1909*/
1910WDI_Status
1911WDI_ProcessUpdateEDCAParamsReq
1912(
1913 WDI_ControlBlockType* pWDICtx,
1914 WDI_EventInfoType* pEventData
1915);
1916
1917/**
1918 @brief Process Add BA Request function (called when Main FSM
1919 allows it)
1920
1921 @param pWDICtx: pointer to the WLAN DAL context
1922 pEventData: pointer to the event information structure
1923
1924 @see
1925 @return Result of the function call
1926*/
1927WDI_Status
1928WDI_ProcessAddBASessionReq
1929(
1930 WDI_ControlBlockType* pWDICtx,
1931 WDI_EventInfoType* pEventData
1932);
1933
1934/**
1935 @brief Process Del BA Request function (called when Main FSM
1936 allows it)
1937
1938 @param pWDICtx: pointer to the WLAN DAL context
1939 pEventData: pointer to the event information structure
1940
1941 @see
1942 @return Result of the function call
1943*/
1944WDI_Status
1945WDI_ProcessDelBAReq
1946(
1947 WDI_ControlBlockType* pWDICtx,
1948 WDI_EventInfoType* pEventData
1949);
1950
1951#ifdef FEATURE_WLAN_CCX
1952/**
1953 @brief Process TSM Stats Request function (called when Main FSM
1954 allows it)
1955
1956 @param pWDICtx: pointer to the WLAN DAL context
1957 pEventData: pointer to the event information structure
1958
1959 @see
1960 @return Result of the function call
1961*/
1962WDI_Status
1963WDI_ProcessTSMStatsReq
1964(
1965 WDI_ControlBlockType* pWDICtx,
1966 WDI_EventInfoType* pEventData
1967);
1968#endif
1969
1970/**
1971 @brief Process Channel Switch Request function (called when
1972 Main FSM allows it)
1973
1974 @param pWDICtx: pointer to the WLAN DAL context
1975 pEventData: pointer to the event information structure
1976
1977 @see
1978 @return Result of the function call
1979*/
1980WDI_Status
1981WDI_ProcessChannelSwitchReq
1982(
1983 WDI_ControlBlockType* pWDICtx,
1984 WDI_EventInfoType* pEventData
1985);
1986
1987/**
1988 @brief Process Config STA Request function (called when Main FSM
1989 allows it)
1990
1991 @param pWDICtx: pointer to the WLAN DAL context
1992 pEventData: pointer to the event information structure
1993
1994 @see
1995 @return Result of the function call
1996*/
1997WDI_Status
1998WDI_ProcessConfigStaReq
1999(
2000 WDI_ControlBlockType* pWDICtx,
2001 WDI_EventInfoType* pEventData
2002);
2003
2004
2005/**
2006 @brief Process Set Link State Request function (called when
2007 Main FSM allows it)
2008
2009 @param pWDICtx: pointer to the WLAN DAL context
2010 pEventData: pointer to the event information structure
2011
2012 @see
2013 @return Result of the function call
2014*/
2015WDI_Status
2016WDI_ProcessSetLinkStateReq
2017(
2018 WDI_ControlBlockType* pWDICtx,
2019 WDI_EventInfoType* pEventData
2020);
2021
2022
2023/**
2024 @brief Process Get Stats Request function (called when Main FSM
2025 allows it)
2026
2027 @param pWDICtx: pointer to the WLAN DAL context
2028 pEventData: pointer to the event information structure
2029
2030 @see
2031 @return Result of the function call
2032*/
2033WDI_Status
2034WDI_ProcessGetStatsReq
2035(
2036 WDI_ControlBlockType* pWDICtx,
2037 WDI_EventInfoType* pEventData
2038);
2039
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002040#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2041/**
2042 @brief Process Get Roam rssi Request function (called when Main FSM
2043 allows it)
2044
2045 @param pWDICtx: pointer to the WLAN DAL context
2046 pEventData: pointer to the event information structure
2047
2048 @see
2049 @return Result of the function call
2050*/
2051WDI_Status
2052WDI_ProcessGetRoamRssiReq
2053(
2054 WDI_ControlBlockType* pWDICtx,
2055 WDI_EventInfoType* pEventData
2056);
2057
2058
2059/**
2060 @brief Process Get Roam Rssi Rsp function (called when a response is
2061 being received over the bus from HAL)
2062
2063 @param pWDICtx: pointer to the WLAN DAL context
2064 pEventData: pointer to the event information structure
2065
2066 @see
2067 @return Result of the function call
2068*/
2069WDI_Status
2070WDI_ProcessGetRoamRssiRsp
2071(
2072 WDI_ControlBlockType* pWDICtx,
2073 WDI_EventInfoType* pEventData
2074);
2075
2076#endif
2077
2078
Jeff Johnson295189b2012-06-20 16:38:30 -07002079/**
2080 @brief Process Update Cfg Request function (called when Main
2081 FSM allows it)
2082
2083 @param pWDICtx: pointer to the WLAN DAL context
2084 pEventData: pointer to the event information structure
2085
2086 @see
2087 @return Result of the function call
2088*/
2089WDI_Status
2090WDI_ProcessUpdateCfgReq
2091(
2092 WDI_ControlBlockType* pWDICtx,
2093 WDI_EventInfoType* pEventData
2094);
2095
2096/**
2097 @brief Process Add BA Request function (called when Main FSM
2098 allows it)
2099
2100 @param pWDICtx: pointer to the WLAN DAL context
2101 pEventData: pointer to the event information structure
2102
2103 @see
2104 @return Result of the function call
2105*/
2106WDI_Status
2107WDI_ProcessAddBAReq
2108(
2109 WDI_ControlBlockType* pWDICtx,
2110 WDI_EventInfoType* pEventData
2111);
2112
2113/**
2114 @brief Process Trigger BA Request function (called when Main FSM
2115 allows it)
2116
2117 @param pWDICtx: pointer to the WLAN DAL context
2118 pEventData: pointer to the event information structure
2119
2120 @see
2121 @return Result of the function call
2122*/
2123WDI_Status
2124WDI_ProcessTriggerBAReq
2125(
2126 WDI_ControlBlockType* pWDICtx,
2127 WDI_EventInfoType* pEventData
2128);
2129
2130/**
2131 @brief Process Update Beacon Params Request function (called when Main
2132 FSM allows it)
2133
2134 @param pWDICtx: pointer to the WLAN DAL context
2135 pEventData: pointer to the event information structure
2136
2137 @see
2138 @return Result of the function call
2139*/
2140WDI_Status
2141WDI_ProcessUpdateBeaconParamsReq
2142(
2143 WDI_ControlBlockType* pWDICtx,
2144 WDI_EventInfoType* pEventData
2145);
2146
2147/**
2148 @brief Process Update Beacon template Request function (called when Main
2149 FSM allows it)
2150
2151 @param pWDICtx: pointer to the WLAN DAL context
2152 pEventData: pointer to the event information structure
2153
2154 @see
2155 @return Result of the function call
2156*/
2157WDI_Status
2158WDI_ProcessSendBeaconParamsReq
2159(
2160 WDI_ControlBlockType* pWDICtx,
2161 WDI_EventInfoType* pEventData
2162);
2163
2164/**
2165 @brief Process Update Beacon Params Request function (called when Main FSM
2166 allows it)
2167
2168 @param pWDICtx: pointer to the WLAN DAL context
2169 pEventData: pointer to the event information structure
2170
2171 @see
2172 @return Result of the function call
2173*/
2174WDI_Status
2175WDI_ProcessUpdateProbeRspTemplateReq
2176(
2177 WDI_ControlBlockType* pWDICtx,
2178 WDI_EventInfoType* pEventData
2179);
2180/**
2181 @brief Process NV blob download function (called when Main FSM
2182 allows it)
2183
2184 @param pWDICtx: pointer to the WLAN DAL context
2185 pEventData: pointer to the event information structure
2186
2187 @see
2188 @return Result of the function call
2189*/
2190WDI_Status
2191WDI_ProcessNvDownloadReq
2192(
2193 WDI_ControlBlockType* pWDICtx,
2194 WDI_EventInfoType* pEventData
2195);
2196
2197/**
2198 @brief Process Set Max Tx Power Request function (called when Main
2199 FSM allows it)
2200
2201 @param pWDICtx: pointer to the WLAN DAL context
2202 pEventData: pointer to the event information structure
2203
2204 @see
2205 @return Result of the function call
2206*/
2207WDI_Status WDI_ProcessSetMaxTxPowerReq
2208(
2209 WDI_ControlBlockType* pWDICtx,
2210 WDI_EventInfoType* pEventData
2211);
2212
Jeff Johnson295189b2012-06-20 16:38:30 -07002213/**
schang86c22c42013-03-13 18:41:24 -07002214 @brief Process Set Tx Power Request function (called when Main
2215 FSM allows it)
2216
2217 @param pWDICtx: pointer to the WLAN DAL context
2218 pEventData: pointer to the event information structure
2219
2220 @see
2221 @return Result of the function call
2222*/
2223WDI_Status WDI_ProcessSetTxPowerReq
2224(
2225 WDI_ControlBlockType* pWDICtx,
2226 WDI_EventInfoType* pEventData
2227);
2228
2229/**
Jeff Johnson295189b2012-06-20 16:38:30 -07002230 @brief Process P2P Notice Of Absence Request function (called when Main FSM
2231 allows it)
2232
2233 @param pWDICtx: pointer to the WLAN DAL context
2234 pEventData: pointer to the event information structure
2235
2236 @see
2237 @return Result of the function call
2238*/
2239WDI_Status
2240WDI_ProcessP2PGONOAReq
2241(
2242 WDI_ControlBlockType* pWDICtx,
2243 WDI_EventInfoType* pEventData
2244);
Jeff Johnson295189b2012-06-20 16:38:30 -07002245
2246/**
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302247 @brief Process TDLS Link Establish Request function (called when Main FSM
2248 allows it)
2249
2250 @param pWDICtx: pointer to the WLAN DAL context
2251 pEventData: pointer to the event information structure
2252
2253 @see
2254 @return Result of the function call
2255*/
2256WDI_Status
2257WDI_ProcessTdlsLinkEstablishReq
2258(
2259 WDI_ControlBlockType* pWDICtx,
2260 WDI_EventInfoType* pEventData
2261);
2262
2263/**
Jeff Johnson295189b2012-06-20 16:38:30 -07002264 @brief Process Enter IMPS Request function (called when
2265 Main FSM allows it)
2266
2267 @param pWDICtx: pointer to the WLAN DAL context
2268 pEventData: pointer to the event information structure
2269
2270 @see
2271 @return Result of the function call
2272*/
2273WDI_Status
2274WDI_ProcessEnterImpsReq
2275(
2276 WDI_ControlBlockType* pWDICtx,
2277 WDI_EventInfoType* pEventData
2278);
2279
2280/**
2281 @brief Process Exit IMPS Request function (called when
2282 Main FSM allows it)
2283
2284 @param pWDICtx: pointer to the WLAN DAL context
2285 pEventData: pointer to the event information structure
2286
2287 @see
2288 @return Result of the function call
2289*/
2290WDI_Status
2291WDI_ProcessExitImpsReq
2292(
2293 WDI_ControlBlockType* pWDICtx,
2294 WDI_EventInfoType* pEventData
2295);
2296
2297/**
2298 @brief Process Enter BMPS Request function (called when Main
2299 FSM allows it)
2300
2301 @param pWDICtx: pointer to the WLAN DAL context
2302 pEventData: pointer to the event information structure
2303
2304 @see
2305 @return Result of the function call
2306*/
2307WDI_Status
2308WDI_ProcessEnterBmpsReq
2309(
2310 WDI_ControlBlockType* pWDICtx,
2311 WDI_EventInfoType* pEventData
2312);
2313
2314/**
2315 @brief Process Exit BMPS Request function (called when Main FSM
2316 allows it)
2317
2318 @param pWDICtx: pointer to the WLAN DAL context
2319 pEventData: pointer to the event information structure
2320
2321 @see
2322 @return Result of the function call
2323*/
2324WDI_Status
2325WDI_ProcessExitBmpsReq
2326(
2327 WDI_ControlBlockType* pWDICtx,
2328 WDI_EventInfoType* pEventData
2329);
2330
2331/**
2332 @brief Process Enter UAPSD Request function (called when Main
2333 FSM allows it)
2334
2335 @param pWDICtx: pointer to the WLAN DAL context
2336 pEventData: pointer to the event information structure
2337
2338 @see
2339 @return Result of the function call
2340*/
2341WDI_Status
2342WDI_ProcessEnterUapsdReq
2343(
2344 WDI_ControlBlockType* pWDICtx,
2345 WDI_EventInfoType* pEventData
2346);
2347
2348/**
2349 @brief Process Exit UAPSD Request function (called when
2350 Main FSM allows it)
2351
2352 @param pWDICtx: pointer to the WLAN DAL context
2353 pEventData: pointer to the event information structure
2354
2355 @see
2356 @return Result of the function call
2357*/
2358WDI_Status
2359WDI_ProcessExitUapsdReq
2360(
2361 WDI_ControlBlockType* pWDICtx,
2362 WDI_EventInfoType* pEventData
2363);
2364
2365/**
2366 @brief Process Set UAPSD params Request function (called when
2367 Main FSM allows it)
2368
2369 @param pWDICtx: pointer to the WLAN DAL context
2370 pEventData: pointer to the event information structure
2371
2372 @see
2373 @return Result of the function call
2374*/
2375WDI_Status
2376WDI_ProcessSetUapsdAcParamsReq
2377(
2378 WDI_ControlBlockType* pWDICtx,
2379 WDI_EventInfoType* pEventData
2380);
2381
2382/**
2383 @brief Process update UAPSD params Request function (called
2384 when Main FSM allows it)
2385
2386 @param pWDICtx: pointer to the WLAN DAL context
2387 pEventData: pointer to the event information structure
2388
2389 @see
2390 @return Result of the function call
2391*/
2392WDI_Status
2393WDI_ProcessUpdateUapsdParamsReq
2394(
2395 WDI_ControlBlockType* pWDICtx,
2396 WDI_EventInfoType* pEventData
2397);
2398
2399/**
2400 @brief Process Configure RXP filter Request function (called
2401 when Main FSM allows it)
2402
2403 @param pWDICtx: pointer to the WLAN DAL context
2404 pEventData: pointer to the event information structure
2405
2406 @see
2407 @return Result of the function call
2408*/
2409WDI_Status
2410WDI_ProcessConfigureRxpFilterReq
2411(
2412 WDI_ControlBlockType* pWDICtx,
2413 WDI_EventInfoType* pEventData
2414);
2415
2416/**
2417 @brief Process set beacon filter Request function (called
2418 when Main FSM allows it)
2419
2420 @param pWDICtx: pointer to the WLAN DAL context
2421 pEventData: pointer to the event information structure
2422
2423 @see
2424 @return Result of the function call
2425*/
2426WDI_Status
2427WDI_ProcessSetBeaconFilterReq
2428(
2429 WDI_ControlBlockType* pWDICtx,
2430 WDI_EventInfoType* pEventData
2431);
2432
2433/**
2434 @brief Process remove beacon filter Request function (called
2435 when Main FSM allows it)
2436
2437 @param pWDICtx: pointer to the WLAN DAL context
2438 pEventData: pointer to the event information structure
2439
2440 @see
2441 @return Result of the function call
2442*/
2443WDI_Status
2444WDI_ProcessRemBeaconFilterReq
2445(
2446 WDI_ControlBlockType* pWDICtx,
2447 WDI_EventInfoType* pEventData
2448);
2449
2450/**
2451 @brief Process set RSSI thresholds Request function (called
2452 when Main FSM allows it)
2453
2454 @param pWDICtx: pointer to the WLAN DAL context
2455 pEventData: pointer to the event information structure
2456
2457 @see
2458 @return Result of the function call
2459*/
2460WDI_Status
2461WDI_ProcessSetRSSIThresholdsReq
2462(
2463 WDI_ControlBlockType* pWDICtx,
2464 WDI_EventInfoType* pEventData
2465);
2466
2467/**
2468 @brief Process set RSSI thresholds Request function (called
2469 when Main FSM allows it)
2470
2471 @param pWDICtx: pointer to the WLAN DAL context
2472 pEventData: pointer to the event information structure
2473
2474 @see
2475 @return Result of the function call
2476*/
2477WDI_Status
2478WDI_ProcessHostOffloadReq
2479(
2480 WDI_ControlBlockType* pWDICtx,
2481 WDI_EventInfoType* pEventData
2482);
2483
2484/**
2485 @brief Process Keep Alive Request function (called
2486 when Main FSM allows it)
2487
2488 @param pWDICtx: pointer to the WLAN DAL context
2489 pEventData: pointer to the event information structure
2490
2491 @see
2492 @return Result of the function call
2493*/
2494WDI_Status
2495WDI_ProcessKeepAliveReq
2496(
2497 WDI_ControlBlockType* pWDICtx,
2498 WDI_EventInfoType* pEventData
2499);
2500
2501
2502/**
2503 @brief Process Wowl add bc ptrn Request function (called
2504 when Main FSM allows it)
2505
2506 @param pWDICtx: pointer to the WLAN DAL context
2507 pEventData: pointer to the event information structure
2508
2509 @see
2510 @return Result of the function call
2511*/
2512WDI_Status
2513WDI_ProcessWowlAddBcPtrnReq
2514(
2515 WDI_ControlBlockType* pWDICtx,
2516 WDI_EventInfoType* pEventData
2517);
2518
2519/**
2520 @brief Process Wowl delete bc ptrn Request function (called
2521 when Main FSM allows it)
2522
2523 @param pWDICtx: pointer to the WLAN DAL context
2524 pEventData: pointer to the event information structure
2525
2526 @see
2527 @return Result of the function call
2528*/
2529WDI_Status
2530WDI_ProcessWowlDelBcPtrnReq
2531(
2532 WDI_ControlBlockType* pWDICtx,
2533 WDI_EventInfoType* pEventData
2534);
2535
2536/**
2537 @brief Process Wowl enter Request function (called
2538 when Main FSM allows it)
2539
2540 @param pWDICtx: pointer to the WLAN DAL context
2541 pEventData: pointer to the event information structure
2542
2543 @see
2544 @return Result of the function call
2545*/
2546WDI_Status
2547WDI_ProcessWowlEnterReq
2548(
2549 WDI_ControlBlockType* pWDICtx,
2550 WDI_EventInfoType* pEventData
2551);
2552
2553/**
2554 @brief Process Wowl exit Request function (called when Main FSM
2555 allows it)
2556
2557 @param pWDICtx: pointer to the WLAN DAL context
2558 pEventData: pointer to the event information structure
2559
2560 @see
2561 @return Result of the function call
2562*/
2563WDI_Status
2564WDI_ProcessWowlExitReq
2565(
2566 WDI_ControlBlockType* pWDICtx,
2567 WDI_EventInfoType* pEventData
2568);
2569
2570/**
2571 @brief Process Configure Apps Cpu Wakeup State Request function
2572 (called when Main FSM allows it)
2573
2574 @param pWDICtx: pointer to the WLAN DAL context
2575 pEventData: pointer to the event information structure
2576
2577 @see
2578 @return Result of the function call
2579*/
2580WDI_Status
2581WDI_ProcessConfigureAppsCpuWakeupStateReq
2582(
2583 WDI_ControlBlockType* pWDICtx,
2584 WDI_EventInfoType* pEventData
2585);
2586
2587/**
2588 @brief Process Flush AC Request function (called when Main FSM
2589 allows it)
2590
2591 @param pWDICtx: pointer to the WLAN DAL context
2592 pEventData: pointer to the event information structure
2593
2594 @see
2595 @return Result of the function call
2596*/
2597WDI_Status
2598WDI_ProcessFlushAcReq
2599(
2600 WDI_ControlBlockType* pWDICtx,
2601 WDI_EventInfoType* pEventData
2602);
2603
Jeff Johnsone7245742012-09-05 17:12:55 -07002604#ifdef FEATURE_OEM_DATA_SUPPORT
2605/**
2606 @brief Process Start Oem Data Request function (called when Main
2607 FSM allows it)
2608
2609 @param pWDICtx: pointer to the WLAN DAL context
2610 pEventData: pointer to the event information structure
2611
2612 @see
2613 @return Result of the function call
2614*/
2615WDI_Status
2616WDI_ProcessStartOemDataReq
2617(
2618 WDI_ControlBlockType* pWDICtx,
2619 WDI_EventInfoType* pEventData
2620);
2621#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002622
2623/**
2624 @brief Process Host Resume Request function (called when Main
2625 FSM allows it)
2626
2627 @param pWDICtx: pointer to the WLAN DAL context
2628 pEventData: pointer to the event information structure
2629
2630 @see
2631 @return Result of the function call
2632*/
2633WDI_Status
2634WDI_ProcessHostResumeReq
2635(
2636 WDI_ControlBlockType* pWDICtx,
2637 WDI_EventInfoType* pEventData
2638);
2639
2640/**
2641 @brief Process BT AMP event Request function (called when Main
2642 FSM allows it)
2643
2644 @param pWDICtx: pointer to the WLAN DAL context
2645 pEventData: pointer to the event information structure
2646
2647 @see
2648 @return Result of the function call
2649*/
2650WDI_Status
2651WDI_ProcessBtAmpEventReq
2652(
2653 WDI_ControlBlockType* pWDICtx,
2654 WDI_EventInfoType* pEventData
2655);
2656
2657/**
2658 @brief Process Add STA self Request function (called when Main FSM
2659 allows it)
2660
2661 @param pWDICtx: pointer to the WLAN DAL context
2662 pEventData: pointer to the event information structure
2663
2664 @see
2665 @return Result of the function call
2666*/
2667WDI_Status
2668WDI_ProcessAddSTASelfReq
2669(
2670 WDI_ControlBlockType* pWDICtx,
2671 WDI_EventInfoType* pEventData
2672);
2673
2674/**
2675 @brief Process Del Sta Self Request function (called when Main
2676 FSM allows it)
2677
2678 @param pWDICtx: pointer to the WLAN DAL context
2679 pEventData: pointer to the event information structure
2680
2681 @see
2682 @return Result of the function call
2683*/
2684WDI_Status
2685WDI_ProcessDelSTASelfReq
2686(
2687 WDI_ControlBlockType* pWDICtx,
2688 WDI_EventInfoType* pEventData
2689);
2690
2691/**
2692 @brief Process set Tx Per Tracking configurations Request function (called
2693 when Main FSM allows it)
2694
2695 @param pWDICtx: pointer to the WLAN DAL context
2696 pEventData: pointer to the event information structure
2697
2698 @see
2699 @return Result of the function call
2700*/
2701WDI_Status
2702WDI_ProcessSetTxPerTrackingReq
2703(
2704 WDI_ControlBlockType* pWDICtx,
2705 WDI_EventInfoType* pEventData
2706);
2707
2708/**
2709 @brief Process Set Power Params Request function
2710
2711 @param pWDICtx: pointer to the WLAN DAL context
2712 pEventData: pointer to the event information structure
2713
2714 @see
2715 @return Result of the function call
2716*/
2717WDI_Status
2718WDI_ProcessSetPowerParamsReq
2719(
2720 WDI_ControlBlockType* pWDICtx,
2721 WDI_EventInfoType* pEventData
2722);
2723
2724/**
2725 @brief Process Set Thermal Mitigation level Changed request
2726
2727 @param pWDICtx: pointer to the WLAN DAL context
2728 pEventData: pointer to the event information structure
2729
2730 @see
2731 @return Result of the function call
2732*/
2733WDI_Status
2734WDI_ProcessSetTmLevelReq
2735(
2736 WDI_ControlBlockType* pWDICtx,
2737 WDI_EventInfoType* pEventData
2738);
2739
Leo Chang9056f462013-08-01 19:21:11 -07002740#ifdef FEATURE_WLAN_LPHB
2741/**
2742 @brief WDI_ProcessLPHBConfReq -
2743 LPHB configuration request to FW
2744
2745 @param pWDICtx : wdi context
2746 pEventData : indication data
2747
2748 @see
2749 @return esult of the function call
2750*/
2751WDI_Status WDI_ProcessLPHBConfReq
2752(
2753 WDI_ControlBlockType* pWDICtx,
2754 WDI_EventInfoType* pEventData
2755);
2756#endif /* FEATURE_WLAN_LPHB */
2757
Jeff Johnson295189b2012-06-20 16:38:30 -07002758/*=========================================================================
2759 Indications
2760=========================================================================*/
2761
2762/**
2763 @brief Process Suspend Indications function (called when Main FSM allows it)
2764
2765 @param pWDICtx: pointer to the WLAN DAL context
2766 pEventData: pointer to the event information structure
2767
2768 @see
2769 @return Result of the function call
2770*/
2771WDI_Status
2772WDI_ProcessHostSuspendInd
2773(
2774 WDI_ControlBlockType* pWDICtx,
2775 WDI_EventInfoType* pEventData
2776);
2777
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05302778/**
2779 @brief DHCP Start Event Indication
2780
2781 @param pWDICtx: pointer to the WLAN DAL context
2782 pEventData: pointer to the event information structure
2783
2784 @see
2785 @return Result of the function call
2786*/
2787WDI_Status
2788WDI_ProcessDHCPStartInd
2789(
2790 WDI_ControlBlockType* pWDICtx,
2791 WDI_EventInfoType* pEventData
2792);
2793
2794/**
2795 @brief DHCP Stop Event Indication
2796
2797 @param pWDICtx: pointer to the WLAN DAL context
2798 pEventData: pointer to the event information structure
2799
2800 @see
2801 @return Result of the function call
2802*/
2803WDI_Status
2804WDI_ProcessDHCPStopInd
2805(
2806 WDI_ControlBlockType* pWDICtx,
2807 WDI_EventInfoType* pEventData
2808);
2809
Jeff Johnson295189b2012-06-20 16:38:30 -07002810
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08002811/**
2812 @brief Process Traffic Stats Indications function (called when Main FSM allows it)
2813
2814 @param pWDICtx: pointer to the WLAN DAL context
2815 pEventData: pointer to the event information structure
2816
2817 @see
2818 @return Result of the function call
2819*/
2820WDI_Status
2821WDI_ProcessTrafficStatsInd
2822(
2823 WDI_ControlBlockType* pWDICtx,
2824 WDI_EventInfoType* pEventData
2825);
Chet Lanctot186b5732013-03-18 10:26:30 -07002826
2827#ifdef WLAN_FEATURE_11W
2828/**
2829 @brief Process Exclude Unencrypted Indications function (called
2830 when Main FSM allows it)
2831
2832 @param pWDICtx: pointer to the WLAN DAL context
2833 pEventData: pointer to the event information structure
2834
2835 @see
2836 @return Result of the function call
2837*/
2838WDI_Status
2839WDI_ProcessExcludeUnencryptInd
2840(
2841 WDI_ControlBlockType* pWDICtx,
2842 WDI_EventInfoType* pEventData
2843);
2844#endif
2845
Jeff Johnson295189b2012-06-20 16:38:30 -07002846/*========================================================================
2847 Main DAL Control Path Response Processing API
2848========================================================================*/
2849
2850
2851/**
2852 @brief Process Start Response function (called when a response
2853 is being received over the bus from HAL)
2854
2855 @param pWDICtx: pointer to the WLAN DAL context
2856 pEventData: pointer to the event information structure
2857
2858 @see
2859 @return Result of the function call
2860*/
2861WDI_Status
2862WDI_ProcessStartRsp
2863(
2864 WDI_ControlBlockType* pWDICtx,
2865 WDI_EventInfoType* pEventData
2866);
2867
2868
2869/**
2870 @brief Process Stop Response function (called when a response
2871 is being received over the bus from HAL)
2872
2873 @param pWDICtx: pointer to the WLAN DAL context
2874 pEventData: pointer to the event information structure
2875
2876 @see
2877 @return Result of the function call
2878*/
2879WDI_Status
2880WDI_ProcessStopRsp
2881(
2882 WDI_ControlBlockType* pWDICtx,
2883 WDI_EventInfoType* pEventData
2884);
2885
2886
2887/**
2888 @brief Process Close Rsp function (called when a response
2889 is being received over the bus from HAL)
2890
2891 @param pWDICtx: pointer to the WLAN DAL context
2892 pEventData: pointer to the event information structure
2893
2894 @see
2895 @return Result of the function call
2896*/
2897WDI_Status
2898WDI_ProcessCloseRsp
2899(
2900 WDI_ControlBlockType* pWDICtx,
2901 WDI_EventInfoType* pEventData
2902);
2903
2904/**
2905 @brief Process Shutdown Rsp function
2906 There is no shutdown response comming from HAL
2907 - function just kept for simmetry
2908
2909 @param pWDICtx: pointer to the WLAN DAL context
2910 pEventData: pointer to the event information structure
2911
2912 @see
2913 @return Result of the function call
2914*/
2915WDI_Status
2916WDI_ProcessShutdownRsp
2917(
2918 WDI_ControlBlockType* pWDICtx,
2919 WDI_EventInfoType* pEventData
2920);
2921
2922/**
2923 @brief Process Init Scan Rsp function (called when a response
2924 is being received over the bus from HAL)
2925
2926 @param pWDICtx: pointer to the WLAN DAL context
2927 pEventData: pointer to the event information structure
2928
2929 @see
2930 @return Result of the function call
2931*/
2932WDI_Status
2933WDI_ProcessInitScanRsp
2934(
2935 WDI_ControlBlockType* pWDICtx,
2936 WDI_EventInfoType* pEventData
2937);
2938
2939
2940/**
2941 @brief Process Start Scan Rsp function (called when a response
2942 is being received over the bus from HAL)
2943
2944 @param pWDICtx: pointer to the WLAN DAL context
2945 pEventData: pointer to the event information structure
2946
2947 @see
2948 @return Result of the function call
2949*/
2950WDI_Status
2951WDI_ProcessStartScanRsp
2952(
2953 WDI_ControlBlockType* pWDICtx,
2954 WDI_EventInfoType* pEventData
2955);
2956
2957
2958/**
2959 @brief Process End Scan Response function (called when a
2960 response is being received over the bus from HAL)
2961
2962 @param pWDICtx: pointer to the WLAN DAL context
2963 pEventData: pointer to the event information structure
2964
2965 @see
2966 @return Result of the function call
2967*/
2968WDI_Status
2969WDI_ProcessEndScanRsp
2970(
2971 WDI_ControlBlockType* pWDICtx,
2972 WDI_EventInfoType* pEventData
2973);
2974
2975
2976/**
2977 @brief Process Finish Scan Response function (called when a
2978 response is being received over the bus from HAL)
2979
2980 @param pWDICtx: pointer to the WLAN DAL context
2981 pEventData: pointer to the event information structure
2982
2983 @see
2984 @return Result of the function call
2985*/
2986WDI_Status
2987WDI_ProcessFinishScanRsp
2988(
2989 WDI_ControlBlockType* pWDICtx,
2990 WDI_EventInfoType* pEventData
2991);
2992
2993
2994/**
2995 @brief Process Join Response function (called when a response
2996 is being received over the bus from HAL)
2997
2998 @param pWDICtx: pointer to the WLAN DAL context
2999 pEventData: pointer to the event information structure
3000
3001 @see
3002 @return Result of the function call
3003*/
3004WDI_Status
3005WDI_ProcessJoinRsp
3006(
3007 WDI_ControlBlockType* pWDICtx,
3008 WDI_EventInfoType* pEventData
3009);
3010
3011
3012/**
3013 @brief Process Config BSS Response function (called when a
3014 response is being received over the bus from HAL)
3015
3016 @param pWDICtx: pointer to the WLAN DAL context
3017 pEventData: pointer to the event information structure
3018
3019 @see
3020 @return Result of the function call
3021*/
3022WDI_Status
3023WDI_ProcessConfigBSSRsp
3024(
3025 WDI_ControlBlockType* pWDICtx,
3026 WDI_EventInfoType* pEventData
3027);
3028
3029
3030/**
3031 @brief Process Del BSS Response function (called when a response
3032 is being received over the bus from HAL)
3033
3034 @param pWDICtx: pointer to the WLAN DAL context
3035 pEventData: pointer to the event information structure
3036
3037 @see
3038 @return Result of the function call
3039*/
3040WDI_Status
3041WDI_ProcessDelBSSRsp
3042(
3043 WDI_ControlBlockType* pWDICtx,
3044 WDI_EventInfoType* pEventData
3045);
3046
3047/**
3048 @brief Process Post Assoc Rsp function (called when a response
3049 is being received over the bus from HAL)
3050
3051 @param pWDICtx: pointer to the WLAN DAL context
3052 pEventData: pointer to the event information structure
3053
3054 @see
3055 @return Result of the function call
3056*/
3057WDI_Status
3058WDI_ProcessPostAssocRsp
3059(
3060 WDI_ControlBlockType* pWDICtx,
3061 WDI_EventInfoType* pEventData
3062);
3063
3064/**
3065 @brief Process Del STA Key Rsp function (called when a response
3066 is being received over the bus from HAL)
3067
3068 @param pWDICtx: pointer to the WLAN DAL context
3069 pEventData: pointer to the event information structure
3070
3071 @see
3072 @return Result of the function call
3073*/
3074WDI_Status
3075WDI_ProcessDelSTARsp
3076(
3077 WDI_ControlBlockType* pWDICtx,
3078 WDI_EventInfoType* pEventData
3079);
3080
3081/**
3082 @brief Process Set BSS Key Rsp function (called when a response
3083 is being received over the bus from HAL)
3084
3085 @param pWDICtx: pointer to the WLAN DAL context
3086 pEventData: pointer to the event information structure
3087
3088 @see
3089 @return Result of the function call
3090*/
3091WDI_Status
3092WDI_ProcessSetBssKeyRsp
3093(
3094 WDI_ControlBlockType* pWDICtx,
3095 WDI_EventInfoType* pEventData
3096);
3097
3098/**
3099 @brief Process Remove BSS Key Rsp function (called when a response
3100 is being received over the bus from HAL)
3101
3102 @param pWDICtx: pointer to the WLAN DAL context
3103 pEventData: pointer to the event information structure
3104
3105 @see
3106 @return Result of the function call
3107*/
3108WDI_Status
3109WDI_ProcessRemoveBssKeyRsp
3110(
3111 WDI_ControlBlockType* pWDICtx,
3112 WDI_EventInfoType* pEventData
3113);
3114
3115
3116/**
3117 @brief Process Set STA Key Rsp function (called when a response
3118 is being received over the bus from HAL)
3119
3120 @param pWDICtx: pointer to the WLAN DAL context
3121 pEventData: pointer to the event information structure
3122
3123 @see
3124 @return Result of the function call
3125*/
3126WDI_Status
3127WDI_ProcessSetStaKeyRsp
3128(
3129 WDI_ControlBlockType* pWDICtx,
3130 WDI_EventInfoType* pEventData
3131);
3132
3133/**
3134 @brief Process Remove STA Key Rsp function (called when a
3135 response is being received over the bus from HAL)
3136
3137 @param pWDICtx: pointer to the WLAN DAL context
3138 pEventData: pointer to the event information structure
3139
3140 @see
3141 @return Result of the function call
3142*/
3143WDI_Status
3144WDI_ProcessRemoveStaKeyRsp
3145(
3146 WDI_ControlBlockType* pWDICtx,
3147 WDI_EventInfoType* pEventData
3148);
3149
3150
3151/**
3152 @brief Process Set STA Bcast Key Rsp function (called when a
3153 response is being received over the bus from HAL)
3154
3155 @param pWDICtx: pointer to the WLAN DAL context
3156 pEventData: pointer to the event information structure
3157
3158 @see
3159 @return Result of the function call
3160*/
3161WDI_Status
3162WDI_ProcessSetStaBcastKeyRsp
3163(
3164 WDI_ControlBlockType* pWDICtx,
3165 WDI_EventInfoType* pEventData
3166);
3167
3168/**
3169 @brief Process Remove STA Bcast Key Rsp function (called when a
3170 response is being received over the bus from HAL)
3171
3172 @param pWDICtx: pointer to the WLAN DAL context
3173 pEventData: pointer to the event information structure
3174
3175 @see
3176 @return Result of the function call
3177*/
3178WDI_Status
3179WDI_ProcessRemoveStaBcastKeyRsp
3180(
3181 WDI_ControlBlockType* pWDICtx,
3182 WDI_EventInfoType* pEventData
3183);
3184
3185/**
3186 @brief Process Add TSpec Rsp function (called when a response
3187 is being received over the bus from HAL)
3188
3189 @param pWDICtx: pointer to the WLAN DAL context
3190 pEventData: pointer to the event information structure
3191
3192 @see
3193 @return Result of the function call
3194*/
3195WDI_Status
3196WDI_ProcessAddTSpecRsp
3197(
3198 WDI_ControlBlockType* pWDICtx,
3199 WDI_EventInfoType* pEventData
3200);
3201
3202
3203/**
3204 @brief Process Del TSpec Rsp function (called when a response
3205 is being received over the bus from HAL)
3206
3207 @param pWDICtx: pointer to the WLAN DAL context
3208 pEventData: pointer to the event information structure
3209
3210 @see
3211 @return Result of the function call
3212*/
3213WDI_Status
3214WDI_ProcessDelTSpecRsp
3215(
3216 WDI_ControlBlockType* pWDICtx,
3217 WDI_EventInfoType* pEventData
3218);
3219
3220/**
3221 @brief Process Update EDCA Parameters Rsp function (called when a
3222 response is being received over the bus from HAL)
3223
3224 @param pWDICtx: pointer to the WLAN DAL context
3225 pEventData: pointer to the event information structure
3226
3227 @see
3228 @return Result of the function call
3229*/
3230WDI_Status
3231WDI_ProcessUpdateEDCAParamsRsp
3232(
3233 WDI_ControlBlockType* pWDICtx,
3234 WDI_EventInfoType* pEventData
3235);
3236
3237
3238/**
3239 @brief Process Add BA Rsp function (called when a response
3240 is being received over the bus from HAL)
3241
3242 @param pWDICtx: pointer to the WLAN DAL context
3243 pEventData: pointer to the event information structure
3244
3245 @see
3246 @return Result of the function call
3247*/
3248WDI_Status
3249WDI_ProcessAddBASessionRsp
3250(
3251 WDI_ControlBlockType* pWDICtx,
3252 WDI_EventInfoType* pEventData
3253);
3254
3255
3256/**
3257 @brief Process Del BA Rsp function (called when a response
3258 is being received over the bus from HAL)
3259
3260 @param pWDICtx: pointer to the WLAN DAL context
3261 pEventData: pointer to the event information structure
3262
3263 @see
3264 @return Result of the function call
3265*/
3266WDI_Status
3267WDI_ProcessDelBARsp
3268(
3269 WDI_ControlBlockType* pWDICtx,
3270 WDI_EventInfoType* pEventData
3271);
3272
3273#ifdef FEATURE_WLAN_CCX
3274/**
3275 @brief Process TSM stats Rsp function (called when a response
3276 is being received over the bus from HAL)
3277
3278 @param pWDICtx: pointer to the WLAN DAL context
3279 pEventData: pointer to the event information structure
3280
3281 @see
3282 @return Result of the function call
3283*/
3284WDI_Status
3285WDI_ProcessTsmStatsRsp
3286(
3287 WDI_ControlBlockType* pWDICtx,
3288 WDI_EventInfoType* pEventData
3289);
3290
3291#endif
3292
3293
3294/**
3295 @brief Process Channel Switch Rsp function (called when a response
3296 is being received over the bus from HAL)
3297
3298 @param pWDICtx: pointer to the WLAN DAL context
3299 pEventData: pointer to the event information structure
3300
3301 @see
3302 @return Result of the function call
3303*/
3304WDI_Status
3305WDI_ProcessChannelSwitchRsp
3306(
3307 WDI_ControlBlockType* pWDICtx,
3308 WDI_EventInfoType* pEventData
3309);
3310
3311
3312/**
3313 @brief Process Config STA Rsp function (called when a response
3314 is being received over the bus from HAL)
3315
3316 @param pWDICtx: pointer to the WLAN DAL context
3317 pEventData: pointer to the event information structure
3318
3319 @see
3320 @return Result of the function call
3321*/
3322WDI_Status
3323WDI_ProcessConfigStaRsp
3324(
3325 WDI_ControlBlockType* pWDICtx,
3326 WDI_EventInfoType* pEventData
3327);
3328
3329
3330/**
3331 @brief Process Set Link State Rsp function (called when a
3332 response is being received over the bus from HAL)
3333
3334 @param pWDICtx: pointer to the WLAN DAL context
3335 pEventData: pointer to the event information structure
3336
3337 @see
3338 @return Result of the function call
3339*/
3340WDI_Status
3341WDI_ProcessSetLinkStateRsp
3342(
3343 WDI_ControlBlockType* pWDICtx,
3344 WDI_EventInfoType* pEventData
3345);
3346
3347/**
3348 @brief Process Get Stats Rsp function (called when a response is
3349 being received over the bus from HAL)
3350
3351 @param pWDICtx: pointer to the WLAN DAL context
3352 pEventData: pointer to the event information structure
3353
3354 @see
3355 @return Result of the function call
3356*/
3357WDI_Status
3358WDI_ProcessGetStatsRsp
3359(
3360 WDI_ControlBlockType* pWDICtx,
3361 WDI_EventInfoType* pEventData
3362);
3363
3364
3365/**
3366 @brief Process Update Cfg Rsp function (called when a response is
3367 being received over the bus from HAL)
3368
3369 @param pWDICtx: pointer to the WLAN DAL context
3370 pEventData: pointer to the event information structure
3371
3372 @see
3373 @return Result of the function call
3374*/
3375WDI_Status
3376WDI_ProcessUpdateCfgRsp
3377(
3378 WDI_ControlBlockType* pWDICtx,
3379 WDI_EventInfoType* pEventData
3380);
3381
3382/**
3383 @brief Process Add BA Rsp function (called when a response
3384 is being received over the bus from HAL)
3385
3386 @param pWDICtx: pointer to the WLAN DAL context
3387 pEventData: pointer to the event information structure
3388
3389 @see
3390 @return Result of the function call
3391*/
3392WDI_Status
3393WDI_ProcessAddBARsp
3394(
3395 WDI_ControlBlockType* pWDICtx,
3396 WDI_EventInfoType* pEventData
3397);
3398
3399/**
3400 @brief Process Add BA Rsp function (called when a response
3401 is being received over the bus from HAL)
3402
3403 @param pWDICtx: pointer to the WLAN DAL context
3404 pEventData: pointer to the event information structure
3405
3406 @see
3407 @return Result of the function call
3408*/
3409WDI_Status
3410WDI_ProcessTriggerBARsp
3411(
3412 WDI_ControlBlockType* pWDICtx,
3413 WDI_EventInfoType* pEventData
3414);
3415
3416/**
3417 @brief Process Update Beacon Params Rsp function (called when a response is
3418 being received over the bus from HAL)
3419
3420 @param pWDICtx: pointer to the WLAN DAL context
3421 pEventData: pointer to the event information structure
3422
3423 @see
3424 @return Result of the function call
3425*/
3426WDI_Status
3427WDI_ProcessUpdateBeaconParamsRsp
3428(
3429 WDI_ControlBlockType* pWDICtx,
3430 WDI_EventInfoType* pEventData
3431);
3432
3433/**
3434 @brief Process Send Beacon template Rsp function (called when a response is
3435 being received over the bus from HAL)
3436
3437 @param pWDICtx: pointer to the WLAN DAL context
3438 pEventData: pointer to the event information structure
3439
3440 @see
3441 @return Result of the function call
3442*/
3443WDI_Status
3444WDI_ProcessSendBeaconParamsRsp
3445(
3446 WDI_ControlBlockType* pWDICtx,
3447 WDI_EventInfoType* pEventData
3448);
3449
3450/**
3451 @brief Process Update Probe Resp Template Rsp function (called
3452 when a response is being received over the bus from HAL)
3453
3454 @param pWDICtx: pointer to the WLAN DAL context
3455 pEventData: pointer to the event information structure
3456
3457 @see
3458 @return Result of the function call
3459*/
3460WDI_Status
3461WDI_ProcessUpdateProbeRspTemplateRsp
3462(
3463 WDI_ControlBlockType* pWDICtx,
3464 WDI_EventInfoType* pEventData
3465);
3466 /**
3467 @brief Process Set Max Tx Power Rsp function (called when a response
3468 is being received over the bus from HAL)
3469
3470 @param pWDICtx: pointer to the WLAN DAL context
3471 pEventData: pointer to the event information structure
3472
3473 @see
3474 @return Result of the function call
3475*/
3476WDI_Status
3477WDI_ProcessSetMaxTxPowerRsp
3478(
3479 WDI_ControlBlockType* pWDICtx,
3480 WDI_EventInfoType* pEventData
3481);
3482
schang86c22c42013-03-13 18:41:24 -07003483 /**
3484 @brief Process Set Tx Power Rsp function (called when a response
3485 is being received over the bus from HAL)
3486
3487 @param pWDICtx: pointer to the WLAN DAL context
3488 pEventData: pointer to the event information structure
3489
3490 @see
3491 @return Result of the function call
3492*/
3493WDI_Status
3494WDI_ProcessSetTxPowerRsp
3495(
3496 WDI_ControlBlockType* pWDICtx,
3497 WDI_EventInfoType* pEventData
3498);
3499
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303500 /**
3501 @brief Process TDLS Link Establish Req Rsp function (called when a response
3502 is being received over the bus from HAL)
3503
3504 @param pWDICtx: pointer to the WLAN DAL context
3505 pEventData: pointer to the event information structure
3506
3507 @see
3508 @return Result of the function call
3509*/
3510WDI_Status
3511WDI_ProcessLinkEstablishReqRsp
3512(
3513 WDI_ControlBlockType* pWDICtx,
3514 WDI_EventInfoType* pEventData
3515);
3516
Jeff Johnson295189b2012-06-20 16:38:30 -07003517/**
3518 @brief Process Nv download(called when a response
3519 is being received over the bus from HAL)
3520
3521 @param pWDICtx: pointer to the WLAN DAL context
3522 pEventData: pointer to the event information structure
3523
3524 @see
3525 @return Result of the function call
3526*/
3527WDI_Status
3528WDI_ProcessNvDownloadRsp
3529(
3530 WDI_ControlBlockType* pWDICtx,
3531 WDI_EventInfoType* pEventData
3532);
3533
Jeff Johnson295189b2012-06-20 16:38:30 -07003534/**
3535 @brief Process P2P Group Owner Notice Of Absense Rsp function (called
3536 when a response is being received over the bus from HAL)
3537
3538 @param pWDICtx: pointer to the WLAN DAL context
3539 pEventData: pointer to the event information structure
3540
3541 @see
3542 @return Result of the function call
3543*/
3544WDI_Status
3545WDI_ProcessP2PGONOARsp
3546(
3547 WDI_ControlBlockType* pWDICtx,
3548 WDI_EventInfoType* pEventData
3549);
Jeff Johnson295189b2012-06-20 16:38:30 -07003550
3551/**
3552 @brief Process Enter IMPS Rsp function (called when a response
3553 is being received over the bus from HAL)
3554
3555 @param pWDICtx: pointer to the WLAN DAL context
3556 pEventData: pointer to the event information structure
3557
3558 @see
3559 @return Result of the function call
3560*/
3561WDI_Status
3562WDI_ProcessEnterImpsRsp
3563(
3564 WDI_ControlBlockType* pWDICtx,
3565 WDI_EventInfoType* pEventData
3566);
3567
3568/**
3569 @brief Process Exit IMPS Rsp function (called when a response
3570 is being received over the bus from HAL)
3571
3572 @param pWDICtx: pointer to the WLAN DAL context
3573 pEventData: pointer to the event information structure
3574
3575 @see
3576 @return Result of the function call
3577*/
3578WDI_Status
3579WDI_ProcessExitImpsRsp
3580(
3581 WDI_ControlBlockType* pWDICtx,
3582 WDI_EventInfoType* pEventData
3583);
3584
3585/**
3586 @brief Process Enter BMPS Rsp function (called when a response
3587 is being received over the bus from HAL)
3588
3589 @param pWDICtx: pointer to the WLAN DAL context
3590 pEventData: pointer to the event information structure
3591
3592 @see
3593 @return Result of the function call
3594*/
3595WDI_Status
3596WDI_ProcessEnterBmpsRsp
3597(
3598 WDI_ControlBlockType* pWDICtx,
3599 WDI_EventInfoType* pEventData
3600);
3601
3602/**
3603 @brief Process Exit BMPS Rsp function (called when a response
3604 is being received over the bus from HAL)
3605
3606 @param pWDICtx: pointer to the WLAN DAL context
3607 pEventData: pointer to the event information structure
3608
3609 @see
3610 @return Result of the function call
3611*/
3612WDI_Status
3613WDI_ProcessExitBmpsRsp
3614(
3615 WDI_ControlBlockType* pWDICtx,
3616 WDI_EventInfoType* pEventData
3617);
3618
3619/**
3620 @brief Process Enter UAPSD Rsp function (called when a response
3621 is being received over the bus from HAL)
3622
3623 @param pWDICtx: pointer to the WLAN DAL context
3624 pEventData: pointer to the event information structure
3625
3626 @see
3627 @return Result of the function call
3628*/
3629WDI_Status
3630WDI_ProcessEnterUapsdRsp
3631(
3632 WDI_ControlBlockType* pWDICtx,
3633 WDI_EventInfoType* pEventData
3634);
3635
3636/**
3637 @brief Process Exit UAPSD Rsp function (called when a response
3638 is being received over the bus from HAL)
3639
3640 @param pWDICtx: pointer to the WLAN DAL context
3641 pEventData: pointer to the event information structure
3642
3643 @see
3644 @return Result of the function call
3645*/
3646WDI_Status
3647WDI_ProcessExitUapsdRsp
3648(
3649 WDI_ControlBlockType* pWDICtx,
3650 WDI_EventInfoType* pEventData
3651);
3652
3653/**
3654 @brief Process set UAPSD params Rsp function (called when a
3655 response is being received over the bus from HAL)
3656
3657 @param pWDICtx: pointer to the WLAN DAL context
3658 pEventData: pointer to the event information structure
3659
3660 @see
3661 @return Result of the function call
3662*/
3663WDI_Status
3664WDI_ProcessSetUapsdAcParamsRsp
3665(
3666 WDI_ControlBlockType* pWDICtx,
3667 WDI_EventInfoType* pEventData
3668);
3669
3670/**
3671 @brief Process update UAPSD params Rsp function (called when a
3672 response is being received over the bus from HAL)
3673
3674 @param pWDICtx: pointer to the WLAN DAL context
3675 pEventData: pointer to the event information structure
3676
3677 @see
3678 @return Result of the function call
3679*/
3680WDI_Status
3681WDI_ProcessUpdateUapsdParamsRsp
3682(
3683 WDI_ControlBlockType* pWDICtx,
3684 WDI_EventInfoType* pEventData
3685);
3686
3687/**
3688 @brief Process Configure RXP filter Rsp function (called when a
3689 response is being received over the bus from HAL)
3690
3691 @param pWDICtx: pointer to the WLAN DAL context
3692 pEventData: pointer to the event information structure
3693
3694 @see
3695 @return Result of the function call
3696*/
3697WDI_Status
3698WDI_ProcessConfigureRxpFilterRsp
3699(
3700 WDI_ControlBlockType* pWDICtx,
3701 WDI_EventInfoType* pEventData
3702);
3703
3704/**
3705 @brief Process Set beacon filter Rsp function (called when a
3706 response is being received over the bus from HAL)
3707
3708 @param pWDICtx: pointer to the WLAN DAL context
3709 pEventData: pointer to the event information structure
3710
3711 @see
3712 @return Result of the function call
3713*/
3714WDI_Status
3715WDI_ProcessSetBeaconFilterRsp
3716(
3717 WDI_ControlBlockType* pWDICtx,
3718 WDI_EventInfoType* pEventData
3719);
3720
3721/**
3722 @brief Process remove beacon filter Rsp function (called when a
3723 response is being received over the bus from HAL)
3724
3725 @param pWDICtx: pointer to the WLAN DAL context
3726 pEventData: pointer to the event information structure
3727
3728 @see
3729 @return Result of the function call
3730*/
3731WDI_Status
3732WDI_ProcessRemBeaconFilterRsp
3733(
3734 WDI_ControlBlockType* pWDICtx,
3735 WDI_EventInfoType* pEventData
3736);
3737
3738/**
3739 @brief Process set RSSI thresholds Rsp function (called when a
3740 response is being received over the bus from HAL)
3741
3742 @param pWDICtx: pointer to the WLAN DAL context
3743 pEventData: pointer to the event information structure
3744
3745 @see
3746 @return Result of the function call
3747*/
3748WDI_Status
3749WDI_ProcessSetRSSIThresoldsRsp
3750(
3751 WDI_ControlBlockType* pWDICtx,
3752 WDI_EventInfoType* pEventData
3753);
3754
3755/**
3756 @brief Process host offload Rsp function (called when a
3757 response is being received over the bus from HAL)
3758
3759 @param pWDICtx: pointer to the WLAN DAL context
3760 pEventData: pointer to the event information structure
3761
3762 @see
3763 @return Result of the function call
3764*/
3765WDI_Status
3766WDI_ProcessHostOffloadRsp
3767(
3768 WDI_ControlBlockType* pWDICtx,
3769 WDI_EventInfoType* pEventData
3770);
3771
3772/**
3773 @brief Process Keep Alive Rsp function (called when a
3774 response is being received over the bus from HAL)
3775
3776 @param pWDICtx: pointer to the WLAN DAL context
3777 pEventData: pointer to the event information structure
3778
3779 @see
3780 @return Result of the function call
3781*/
3782WDI_Status
3783WDI_ProcessKeepAliveRsp
3784(
3785 WDI_ControlBlockType* pWDICtx,
3786 WDI_EventInfoType* pEventData
3787);
3788
3789
3790/**
3791 @brief Process wowl add ptrn Rsp function (called when a
3792 response is being received over the bus from HAL)
3793
3794 @param pWDICtx: pointer to the WLAN DAL context
3795 pEventData: pointer to the event information structure
3796
3797 @see
3798 @return Result of the function call
3799*/
3800WDI_Status
3801WDI_ProcessWowlAddBcPtrnRsp
3802(
3803 WDI_ControlBlockType* pWDICtx,
3804 WDI_EventInfoType* pEventData
3805);
3806
3807/**
3808 @brief Process wowl delete ptrn Rsp function (called when a
3809 response is being received over the bus from HAL)
3810
3811 @param pWDICtx: pointer to the WLAN DAL context
3812 pEventData: pointer to the event information structure
3813
3814 @see
3815 @return Result of the function call
3816*/
3817WDI_Status
3818WDI_ProcessWowlDelBcPtrnRsp
3819(
3820 WDI_ControlBlockType* pWDICtx,
3821 WDI_EventInfoType* pEventData
3822);
3823
3824/**
3825 @brief Process wowl enter Rsp function (called when a response
3826 is being received over the bus from HAL)
3827
3828 @param pWDICtx: pointer to the WLAN DAL context
3829 pEventData: pointer to the event information structure
3830
3831 @see
3832 @return Result of the function call
3833*/
3834WDI_Status
3835WDI_ProcessWowlEnterRsp
3836(
3837 WDI_ControlBlockType* pWDICtx,
3838 WDI_EventInfoType* pEventData
3839);
3840
3841/**
3842 @brief Process wowl exit Rsp function (called when a response
3843 is being received over the bus from HAL)
3844
3845 @param pWDICtx: pointer to the WLAN DAL context
3846 pEventData: pointer to the event information structure
3847
3848 @see
3849 @return Result of the function call
3850*/
3851WDI_Status
3852WDI_ProcessWowlExitRsp
3853(
3854 WDI_ControlBlockType* pWDICtx,
3855 WDI_EventInfoType* pEventData
3856);
3857
3858/**
3859 @brief Process Configure Apps CPU wakeup State Rsp function
3860 (called when a response is being received over the bus
3861 from HAL)
3862
3863 @param pWDICtx: pointer to the WLAN DAL context
3864 pEventData: pointer to the event information structure
3865
3866 @see
3867 @return Result of the function call
3868*/
3869WDI_Status
3870WDI_ProcessConfigureAppsCpuWakeupStateRsp
3871(
3872 WDI_ControlBlockType* pWDICtx,
3873 WDI_EventInfoType* pEventData
3874);
3875/**
3876 @brief Process Flush AC Rsp function (called when a response
3877 is being received over the bus from HAL)
3878
3879 @param pWDICtx: pointer to the WLAN DAL context
3880 pEventData: pointer to the event information structure
3881
3882 @see
3883 @return Result of the function call
3884*/
3885WDI_Status
3886WDI_ProcessFlushAcRsp
3887(
3888 WDI_ControlBlockType* pWDICtx,
3889 WDI_EventInfoType* pEventData
3890);
3891
3892/**
3893 @brief Process BT AMP event Rsp function (called when a
3894 response is being received over the bus from HAL)
3895
3896 @param pWDICtx: pointer to the WLAN DAL context
3897 pEventData: pointer to the event information structure
3898
3899 @see
3900 @return Result of the function call
3901*/
3902WDI_Status
3903WDI_ProcessBtAmpEventRsp
3904(
3905 WDI_ControlBlockType* pWDICtx,
3906 WDI_EventInfoType* pEventData
3907);
3908
3909/**
3910 @brief Process ADD SELF STA Rsp function (called
3911 when a response is being received over the bus from HAL)
3912
3913 @param pWDICtx: pointer to the WLAN DAL context
3914 pEventData: pointer to the event information structure
3915
3916 @see
3917 @return Result of the function call
3918*/
3919WDI_Status
3920WDI_ProcessAddSTASelfRsp
3921(
3922 WDI_ControlBlockType* pWDICtx,
3923 WDI_EventInfoType* pEventData
3924);
3925
3926 /**
3927 @brief WDI_ProcessDelSTASelfRsp function (called when a
3928 response is being received over the bus from HAL)
3929
3930 @param pWDICtx: pointer to the WLAN DAL context
3931 pEventData: pointer to the event information structure
3932
3933 @see
3934 @return Result of the function call
3935*/
3936WDI_Status
3937WDI_ProcessDelSTASelfRsp
3938(
3939 WDI_ControlBlockType* pWDICtx,
3940 WDI_EventInfoType* pEventData
3941);
3942
Jeff Johnsone7245742012-09-05 17:12:55 -07003943#ifdef FEATURE_OEM_DATA_SUPPORT
3944/**
3945 @brief Start Oem Data Rsp function (called when a
3946 response is being received over the bus from HAL)
3947
3948 @param pWDICtx: pointer to the WLAN DAL context
3949 pEventData: pointer to the event information structure
3950
3951 @see
3952 @return Result of the function call
3953*/
3954WDI_Status
3955WDI_ProcessStartOemDataRsp
3956(
3957 WDI_ControlBlockType* pWDICtx,
3958 WDI_EventInfoType* pEventData
3959);
3960#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003961
3962 /**
3963 @brief WDI_ProcessHostResumeRsp function (called when a
3964 response is being received over the bus from HAL)
3965
3966 @param pWDICtx: pointer to the WLAN DAL context
3967 pEventData: pointer to the event information structure
3968
3969 @see
3970 @return Result of the function call
3971*/
3972WDI_Status
3973WDI_ProcessHostResumeRsp
3974(
3975 WDI_ControlBlockType* pWDICtx,
3976 WDI_EventInfoType* pEventData
3977);
3978
3979/**
3980 @brief Process set tx per tracking Rsp function (called when a
3981 response is being received over the bus from HAL)
3982
3983 @param pWDICtx: pointer to the WLAN DAL context
3984 pEventData: pointer to the event information structure
3985
3986 @see
3987 @return Result of the function call
3988*/
3989WDI_Status
3990WDI_ProcessSetTxPerTrackingRsp
3991(
3992 WDI_ControlBlockType* pWDICtx,
3993 WDI_EventInfoType* pEventData
3994);
3995
3996/**
3997 @brief Process Power Params Rsp function (called when a
3998 response is being received over the bus from HAL)
3999
4000 @param pWDICtx: pointer to the WLAN DAL context
4001 pEventData: pointer to the event information structure
4002
4003 @see
4004 @return Result of the function call
4005*/
4006WDI_Status
4007WDI_ProcessSetPowerParamsRsp
4008(
4009 WDI_ControlBlockType* pWDICtx,
4010 WDI_EventInfoType* pEventData
4011);
4012
4013/**
4014 @brief Process Set TM Level Rsp function (called when a
4015 response is being received over the bus from HAL)
4016
4017 @param pWDICtx: pointer to the WLAN DAL context
4018 pEventData: pointer to the event information structure
4019
4020 @see
4021 @return Result of the function call
4022*/
4023WDI_Status
4024WDI_ProcessSetTmLevelRsp
4025(
4026 WDI_ControlBlockType* pWDICtx,
4027 WDI_EventInfoType* pEventData
4028);
4029
4030/*==========================================================================
4031 Indications from HAL
4032 ==========================================================================*/
4033/**
4034 @brief Process Low RSSI Indication function (called when an
4035 indication of this kind is being received over the bus
4036 from HAL)
4037
4038 @param pWDICtx: pointer to the WLAN DAL context
4039 pEventData: pointer to the event information structure
4040
4041 @see
4042 @return Result of the function call
4043*/
4044WDI_Status
4045WDI_ProcessLowRSSIInd
4046(
4047 WDI_ControlBlockType* pWDICtx,
4048 WDI_EventInfoType* pEventData
4049);
4050
4051/**
4052 @brief Process Missed Beacon Indication function (called when
4053 an indication of this kind is being received over the
4054 bus from HAL)
4055
4056 @param pWDICtx: pointer to the WLAN DAL context
4057 pEventData: pointer to the event information structure
4058
4059 @see
4060 @return Result of the function call
4061*/
4062WDI_Status
4063WDI_ProcessMissedBeaconInd
4064(
4065 WDI_ControlBlockType* pWDICtx,
4066 WDI_EventInfoType* pEventData
4067);
4068
4069
4070/**
4071 @brief Process Unk Addr Frame Indication function (called when
4072 an indication of this kind is being received over the
4073 bus from HAL)
4074
4075 @param pWDICtx: pointer to the WLAN DAL context
4076 pEventData: pointer to the event information structure
4077
4078 @see
4079 @return Result of the function call
4080*/
4081WDI_Status
4082WDI_ProcessUnkAddrFrameInd
4083(
4084 WDI_ControlBlockType* pWDICtx,
4085 WDI_EventInfoType* pEventData
4086);
4087
4088
4089/**
4090 @brief Process MIC Failure Indication function (called when an
4091 indication of this kind is being received over the bus
4092 from HAL)
4093
4094 @param pWDICtx: pointer to the WLAN DAL context
4095 pEventData: pointer to the event information structure
4096
4097 @see
4098 @return Result of the function call
4099*/
4100WDI_Status
4101WDI_ProcessMicFailureInd
4102(
4103 WDI_ControlBlockType* pWDICtx,
4104 WDI_EventInfoType* pEventData
4105);
4106
4107/**
4108 @brief Process Fatal Failure Indication function (called when
4109 an indication of this kind is being received over the
4110 bus from HAL)
4111
4112 @param pWDICtx: pointer to the WLAN DAL context
4113 pEventData: pointer to the event information structure
4114
4115 @see
4116 @return Result of the function call
4117*/
4118WDI_Status
4119WDI_ProcessFatalErrorInd
4120(
4121 WDI_ControlBlockType* pWDICtx,
4122 WDI_EventInfoType* pEventData
4123);
4124
4125/**
4126 @brief Process Delete STA Indication function (called when
4127 an indication of this kind is being received over the
4128 bus from HAL)
4129
4130 @param pWDICtx: pointer to the WLAN DAL context
4131 pEventData: pointer to the event information structure
4132
4133 @see
4134 @return Result of the function call
4135*/
4136WDI_Status
4137WDI_ProcessDelSTAInd
4138(
4139 WDI_ControlBlockType* pWDICtx,
4140 WDI_EventInfoType* pEventData
4141);
4142
4143/**
4144*@brief Process Coex Indication function (called when
4145 an indication of this kind is being received over the
4146 bus from HAL)
4147
4148 @param pWDICtx: pointer to the WLAN DAL context
4149 pEventData: pointer to the event information structure
4150
4151 @see
4152 @return Result of the function call
4153*/
4154WDI_Status
4155WDI_ProcessCoexInd
4156(
4157 WDI_ControlBlockType* pWDICtx,
4158 WDI_EventInfoType* pEventData
4159);
4160
4161/**
4162*@brief Process Tx Complete Indication function (called when
4163 an indication of this kind is being received over the
4164 bus from HAL)
4165
4166 @param pWDICtx: pointer to the WLAN DAL context
4167 pEventData: pointer to the event information structure
4168
4169 @see
4170 @return Result of the function call
4171*/
4172WDI_Status
4173WDI_ProcessTxCompleteInd
4174(
4175 WDI_ControlBlockType* pWDICtx,
4176 WDI_EventInfoType* pEventData
4177);
4178
Jeff Johnson295189b2012-06-20 16:38:30 -07004179/**
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304180*@brief Process Tdls Indication function (called when
4181 an indication of this kind is being received over the
4182 bus from HAL)
4183
4184 @param pWDICtx: pointer to the WLAN DAL context
4185 pEventData: pointer to the event information structure
4186
4187 @see
4188 @return Result of the function call
4189*/
4190WDI_Status
4191WDI_ProcessTdlsInd
4192(
4193 WDI_ControlBlockType* pWDICtx,
4194 WDI_EventInfoType* pEventData
4195);
4196
4197/**
Viral Modid86bde22012-12-10 13:09:21 -08004198*@brief Process Noa Start Indication function (called when
4199 an indication of this kind is being received over the
4200 bus from HAL)
4201
4202 @param pWDICtx: pointer to the WLAN DAL context
4203 pEventData: pointer to the event information structure
4204
4205 @see
4206 @return Result of the function call
4207*/
4208WDI_Status
4209WDI_ProcessP2pNoaStartInd
4210(
4211 WDI_ControlBlockType* pWDICtx,
4212 WDI_EventInfoType* pEventData
4213);
4214
4215/**
Jeff Johnson295189b2012-06-20 16:38:30 -07004216*@brief Process Noa Attr Indication function (called when
4217 an indication of this kind is being received over the
4218 bus from HAL)
4219
4220 @param pWDICtx: pointer to the WLAN DAL context
4221 pEventData: pointer to the event information structure
4222
4223 @see
4224 @return Result of the function call
4225*/
4226WDI_Status
4227WDI_ProcessP2pNoaAttrInd
4228(
4229 WDI_ControlBlockType* pWDICtx,
4230 WDI_EventInfoType* pEventData
4231);
Jeff Johnson295189b2012-06-20 16:38:30 -07004232
4233/**
4234*@brief Process Tx Per Hit Indication function (called when
4235 an indication of this kind is being received over the
4236 bus from HAL)
4237
4238 @param pWDICtx: pointer to the WLAN DAL context
4239 pEventData: pointer to the event information structure
4240
4241 @see
4242 @return Result of the function call
4243*/
4244WDI_Status
4245WDI_ProcessTxPerHitInd
4246(
4247 WDI_ControlBlockType* pWDICtx,
4248 WDI_EventInfoType* pEventData
4249);
4250
Leo Chang9056f462013-08-01 19:21:11 -07004251#ifdef FEATURE_WLAN_LPHB
4252/**
4253 @brief WDI_ProcessLphbWaitTimeoutInd -
4254 This function will be invoked when FW detects low power
4255 heart beat failure
4256
4257 @param pWDICtx : wdi context
4258 pEventData : indication data
4259
4260 @see
4261 @return Result of the function call
4262*/
4263WDI_Status
4264WDI_ProcessLphbWaitTimeoutInd
4265(
4266 WDI_ControlBlockType* pWDICtx,
4267 WDI_EventInfoType* pEventData
4268);
4269#endif /* FEATURE_WLAN_LPHB */
4270
Jeff Johnson295189b2012-06-20 16:38:30 -07004271#ifdef WLAN_FEATURE_VOWIFI_11R
4272/**
4273 @brief Process Aggrgated Add TSpec Request function (called when Main FSM
4274 allows it)
4275
4276 @param pWDICtx: pointer to the WLAN DAL context
4277 pEventData: pointer to the event information structure
4278
4279 @see
4280 @return Result of the function call
4281*/
4282WDI_Status
4283WDI_ProcessAggrAddTSpecReq
4284(
4285 WDI_ControlBlockType* pWDICtx,
4286 WDI_EventInfoType* pEventData
4287);
4288
4289/**
4290 @brief Process Add TSpec Rsp function (called when a response
4291 is being received over the bus from HAL)
4292
4293 @param pWDICtx: pointer to the WLAN DAL context
4294 pEventData: pointer to the event information structure
4295
4296 @see
4297 @return Result of the function call
4298*/
4299WDI_Status
4300WDI_ProcessAggrAddTSpecRsp
4301(
4302 WDI_ControlBlockType* pWDICtx,
4303 WDI_EventInfoType* pEventData
4304);
4305
4306#endif /* WLAN_FEATURE_VOWIFI_11R */
4307
Jeff Johnson295189b2012-06-20 16:38:30 -07004308/**
4309 @brief WDI_ProcessFTMCommandReq
4310 Process FTM Command, simply route to HAL
4311
4312 @param pWDICtx: pointer to the WLAN DAL context
4313 pEventData: pointer to the event information structure
4314
4315 @see
4316 @return Result of the function call
4317*/
4318WDI_Status
4319WDI_ProcessFTMCommandReq
4320(
4321 WDI_ControlBlockType* pWDICtx,
4322 WDI_EventInfoType* pEventData
4323);
4324
4325/**
4326 @brief WDI_ProcessFTMCommandRsp
4327 Process FTM Command Response from HAL, simply route to HDD FTM
4328
4329 @param pWDICtx: pointer to the WLAN DAL context
4330 pEventData: pointer to the event information structure
4331
4332 @see
4333 @return Result of the function call
4334*/
4335WDI_Status
4336WDI_ProcessFTMCommandRsp
4337(
4338 WDI_ControlBlockType* pWDICtx,
4339 WDI_EventInfoType* pEventData
4340);
Jeff Johnson295189b2012-06-20 16:38:30 -07004341/**
4342 @brief WDI_ProcessHALDumpCmdReq
4343 Process Hal Dump Command, simply route to HAL
4344
4345 @param pWDICtx: pointer to the WLAN DAL context
4346 pEventData: pointer to the event information structure
4347
4348 @see
4349 @return Result of the function call
4350*/
4351WDI_Status
4352WDI_ProcessHALDumpCmdReq
4353(
4354 WDI_ControlBlockType* pWDICtx,
4355 WDI_EventInfoType* pEventData
4356);
4357
4358/**
4359 @brief WDI_ProcessHALDumpCmdRsp
4360 Process Hal Dump Command Response from HAL, simply route to HDD FTM
4361
4362 @param pWDICtx: pointer to the WLAN DAL context
4363 pEventData: pointer to the event information structure
4364
4365 @see
4366 @return Result of the function call
4367*/
4368WDI_Status
4369WDI_ProcessHALDumpCmdRsp
4370(
4371 WDI_ControlBlockType* pWDICtx,
4372 WDI_EventInfoType* pEventData
4373);
4374/*========================================================================
4375 Internal Helper Routines
4376========================================================================*/
4377
4378/**
4379 @brief WDI_CleanCB - internal helper routine used to clean the
4380 WDI Main Control Block
4381
4382 @param pWDICtx - pointer to the control block
4383
4384 @return Result of the function call
4385*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004386WDI_Status
Jeff Johnson295189b2012-06-20 16:38:30 -07004387WDI_CleanCB
4388(
4389 WDI_ControlBlockType* pWDICtx
4390);
4391
4392/**
4393 @brief Main FSM Close function for all states except BUSY
4394
4395
4396 @param pWDICtx: pointer to the WLAN DAL context
4397 pEventData: pointer to the event information structure
4398
4399 @see
4400 @return Result of the function call
4401*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004402WDI_Status
Jeff Johnson295189b2012-06-20 16:38:30 -07004403WDI_ProcessRequest
4404(
4405 WDI_ControlBlockType* pWDICtx,
4406 WDI_EventInfoType* pEventData
4407);
4408
4409/**
4410 @brief Get message helper function - it allocates memory for a
4411 message that is to be sent to HAL accross the bus and
4412 prefixes it with a send message header
4413
4414 @param pWDICtx: pointer to the WLAN DAL context
4415 wdiReqType: type of the request being sent
4416 uBufferLen: message buffer len
4417 pMsgBuffer: resulting allocated buffer
4418 puDataOffset: offset in the buffer where the caller
4419 can start copying its message data
4420 puBufferSize: the resulting buffer size (offset+buff
4421 len)
4422
4423 @see
4424 @return Result of the function call
4425*/
4426WDI_Status
4427WDI_GetMessageBuffer
4428(
4429 WDI_ControlBlockType* pWDICtx,
4430 WDI_RequestEnumType wdiReqType,
4431 wpt_uint16 usBufferLen,
4432 wpt_uint8** pMsgBuffer,
4433 wpt_uint16* pusDataOffset,
4434 wpt_uint16* pusBufferSize
4435);
4436
4437/**
4438 @brief WDI_DetectedDeviceError - called internally by DAL when
4439 it has detected a failure in the device
4440
4441 @param pWDICtx: pointer to the WLAN DAL context
4442 usErrorCode: error code detected by WDI or received
4443 from HAL
4444
4445 @see
4446 @return None
4447*/
4448void
4449WDI_DetectedDeviceError
4450(
4451 WDI_ControlBlockType* pWDICtx,
4452 wpt_uint16 usErrorCode
4453);
4454
4455/*=========================================================================
4456 QUEUE SUPPORT UTILITY FUNCTIONS
4457=========================================================================*/
4458
4459/**
4460 @brief Utility function used by the DAL Core to help queue a
4461 request that cannot be processed right away.
4462 @param
4463
4464 pWDICtx: - pointer to the WDI control block
4465 pEventData: - pointer to the evnt info that needs to be
4466 queued
4467
4468 @see
4469 @return Result of the operation
4470*/
4471WDI_Status
4472WDI_QueuePendingReq
4473(
4474 WDI_ControlBlockType* pWDICtx,
4475 WDI_EventInfoType* pEventData
4476);
4477
4478/**
4479 @brief Utility function used by the DAL Core to clear any
4480 pending requests - all req cb will be called with
4481 failure and the queue will be emptied.
4482 @param
4483
4484 pWDICtx: - pointer to the WDI control block
4485
4486 @see
4487 @return Result of the operation
4488*/
4489WDI_Status
4490WDI_ClearPendingRequests
4491(
4492 WDI_ControlBlockType* pWDICtx
4493);
4494
4495/**
4496 @brief This callback is invoked by the wpt when a timer that
4497 we started on send message has expire - this should
4498 never happen - it means device is stuck and cannot
4499 reply - trigger catastrophic failure
4500 @param
4501
4502 pUserData: the callback data of the user (ptr to WDI CB)
4503
4504 @see
4505 @return None
4506*/
4507void
4508WDI_ResponseTimerCB
4509(
4510 void *pUserData
4511);
4512
4513/*==========================================================================
4514 CONTRL TRANSPORT INTERACTION
4515
4516 Callback function registered with the control transport - for receiving
4517 notifications and packets
4518==========================================================================*/
4519/**
4520 @brief This callback is invoked by the control transport
4521 when it wishes to send up a notification like the ones
4522 mentioned above.
4523
4524 @param
4525
4526 wctsHandle: handle to the control transport service
4527 wctsEvent: the event being notified
4528 wctsNotifyCBData: the callback data of the user
4529
4530 @see WCTS_OpenTransport
4531
4532 @return None
4533*/
4534void
4535WDI_NotifyMsgCTSCB
4536(
4537 WCTS_HandleType wctsHandle,
4538 WCTS_NotifyEventType wctsEvent,
4539 void* wctsNotifyCBData
4540);
4541
4542/**
4543 @brief This callback is invoked by the control transport
4544 when it wishes to send up a packet received over the
4545 bus.
4546
4547 @param
4548
4549 wctsHandle: handle to the control transport service
4550 pMsg: the packet
4551 uLen: the packet length
4552 wctsRxMsgCBData: the callback data of the user
4553
4554 @see WCTS_OpenTransport
4555
4556 @return None
4557*/
4558void
4559WDI_RXMsgCTSCB
4560(
4561 WCTS_HandleType wctsHandle,
4562 void* pMsg,
4563 wpt_uint32 uLen,
4564 void* wctsRxMsgCBData
4565);
4566
4567/**
4568 @brief Process response helper function
4569
4570
4571 @param pWDICtx: pointer to the WLAN DAL context
4572 pEventData: pointer to the event information structure
4573
4574 @see
4575 @return Result of the function call
4576*/
4577WDI_Status
4578WDI_ProcessResponse
4579(
4580 WDI_ControlBlockType* pWDICtx,
4581 WDI_EventInfoType* pEventData
4582);
4583
4584/**
4585 @brief Send message helper function - sends a message over the
4586 bus using the control tranport and saves some info in
4587 the CB
4588
4589 @param pWDICtx: pointer to the WLAN DAL context
4590 pSendBuffer: buffer to be sent
4591
4592 uSendSize size of the buffer to be sent
4593 pRspCb: response callback - save in the WDI
4594 CB
4595 pUserData: user data associated with the
4596 callback
4597 wdiExpectedResponse: the code of the response that is
4598 expected to be rx-ed for this request
4599
4600 @see
4601 @return Result of the function call
4602*/
4603WDI_Status
4604WDI_SendMsg
4605(
4606 WDI_ControlBlockType* pWDICtx,
4607 wpt_uint8* pSendBuffer,
4608 wpt_uint32 uSendSize,
4609 void* pRspCb,
4610 void* pUserData,
4611 WDI_ResponseEnumType wdiExpectedResponse
4612);
4613
4614
4615/**
4616 @brief Send indication helper function - sends a message over
4617 the bus using the control transport and saves some info
4618 in the CB
4619
4620 @param pWDICtx: pointer to the WLAN DAL context
4621 pSendBuffer: buffer to be sent
4622 usSendSize: size of the buffer to be sent
4623
4624 @see
4625 @return Result of the function call
4626*/
4627WDI_Status
4628WDI_SendIndication
4629(
4630 WDI_ControlBlockType* pWDICtx,
4631 wpt_uint8* pSendBuffer,
4632 wpt_uint32 usSendSize
4633);
4634
4635/**
4636 @brief Utility function used by the DAL Core to help dequeue
4637 and schedule for execution a pending request
4638 @param
4639
4640 pWDICtx: - pointer to the WDI control block
4641 pEventData: - pointer to the evnt info that needs to be
4642 queued
4643
4644 @see
4645 @return Result of the operation
4646*/
4647WDI_Status
4648WDI_DequeuePendingReq
4649(
4650 WDI_ControlBlockType* pWDICtx
4651);
4652
4653/**
4654 @brief Utility function used by the DAL Core to help queue
4655 an association request that cannot be processed right
4656 away.- The assoc requests will be queued by BSSID
4657 @param
4658
4659 pWDICtx: - pointer to the WDI control block
4660 pEventData: pointer to the evnt info that needs to be queued
4661 macBSSID: bssid
4662
4663 @see
4664 @return Result of the operation
4665*/
4666WDI_Status
4667WDI_QueueNewAssocRequest
4668(
4669 WDI_ControlBlockType* pWDICtx,
4670 WDI_EventInfoType* pEventData,
4671 wpt_macAddr macBSSID
4672);
4673
4674/**
4675 @brief Utility function used by the DAL Core to help queue
4676 an association request that cannot be processed right
4677 away.- The assoc requests will be queued by BSSID
4678 @param
4679
4680 pWDICtx: - pointer to the WDI control block
4681 pSession: - session in which to queue
4682 pEventData: pointer to the event info that needs to be
4683 queued
4684
4685 @see
4686 @return Result of the operation
4687*/
4688WDI_Status
4689WDI_QueueAssocRequest
4690(
4691 WDI_ControlBlockType* pWDICtx,
4692 WDI_BSSSessionType* pSession,
4693 WDI_EventInfoType* pEventData
4694);
4695
4696/**
4697 @brief Utility function used by the DAL Core to help dequeue
4698 an association request that was pending
4699 The request will be queued up in front of the main
4700 pending queue for immediate processing
4701 @param
4702
4703 pWDICtx: - pointer to the WDI control block
4704
4705
4706 @see
4707 @return Result of the operation
4708*/
4709WDI_Status
4710WDI_DequeueAssocRequest
4711(
4712 WDI_ControlBlockType* pWDICtx
4713);
4714
4715/**
4716 @brief Helper routine used to init the BSS Sessions in the WDI control block
4717
4718
4719 @param pWDICtx: pointer to the WLAN DAL context
4720
4721 @see
4722*/
4723void
4724WDI_ResetAssocSessions
4725(
4726 WDI_ControlBlockType* pWDICtx
4727);
4728
4729/**
4730 @brief Helper routine used to find an empty session in the WDI
4731 CB
4732
4733
4734 @param pWDICtx: pointer to the WLAN DAL context
4735 pSession: pointer to the session (if found)
4736
4737 @see
4738 @return Index of the session in the array
4739*/
4740wpt_uint8
4741WDI_FindEmptySession
4742(
4743 WDI_ControlBlockType* pWDICtx,
4744 WDI_BSSSessionType** ppSession
4745);
4746
4747/**
Hoonki Lee9af07cf2013-04-24 01:21:58 -07004748 @brief Helper routine used to get the total count of active
Jeff Johnson295189b2012-06-20 16:38:30 -07004749 sessions
Hoonki Lee9af07cf2013-04-24 01:21:58 -07004750
4751
4752 @param pWDICtx: pointer to the WLAN DAL context
4753 macBSSID: pointer to BSSID. If NULL, get all the session.
4754 If not NULL, count ActiveSession by excluding (TRUE) or including (FALSE) skipBSSID.
4755 skipBSSID: if TRUE, get all the sessions except matching to macBSSID. If FALSE, get all session.
4756 This argument is ignored if macBSSID is NULL.
Jeff Johnson295189b2012-06-20 16:38:30 -07004757 @see
4758 @return Number of sessions in use
4759*/
4760wpt_uint8
4761WDI_GetActiveSessionsCount
Hoonki Lee9af07cf2013-04-24 01:21:58 -07004762(
4763 WDI_ControlBlockType* pWDICtx,
4764 wpt_macAddr macBSSID,
4765 wpt_boolean skipBSSID
Jeff Johnson295189b2012-06-20 16:38:30 -07004766);
4767
4768/**
4769 @brief Helper routine used to delete session in the WDI
4770 CB
4771
4772
4773 @param pWDICtx: pointer to the WLAN DAL context
4774 pSession: pointer to the session (if found)
4775
4776 @see
4777 @return Index of the session in the array
4778*/
4779void
4780WDI_DeleteSession
4781(
4782 WDI_ControlBlockType* pWDICtx,
4783 WDI_BSSSessionType* ppSession
4784);
4785
4786/**
4787 @brief Helper routine used to find a session based on the BSSID
4788
4789
4790 @param pWDICtx: pointer to the WLAN DAL context
4791 macBSSID: BSSID of the session
4792 ppSession: out pointer to the session (if found)
4793
4794 @see
4795 @return Index of the session in the array
4796*/
4797wpt_uint8
4798WDI_FindAssocSession
4799(
4800 WDI_ControlBlockType* pWDICtx,
4801 wpt_macAddr macBSSID,
4802 WDI_BSSSessionType** ppSession
4803);
4804
4805
4806/**
4807 @brief Helper routine used to find a session based on the BSSID
4808
4809
4810 @param pWDICtx: pointer to the WLAN DAL context
4811 usBssIdx: BSS Index of the session
4812 ppSession: out pointer to the session (if found)
4813
4814 @see
4815 @return Index of the session in the array
4816*/
4817wpt_uint8
4818WDI_FindAssocSessionByBSSIdx
4819(
4820 WDI_ControlBlockType* pWDICtx,
4821 wpt_uint16 usBssIdx,
4822 WDI_BSSSessionType** ppSession
4823);
4824
4825/**
4826 @brief Helper routine used to find a session based on the BSSID
4827
4828
4829 @param pWDICtx: pointer to the WLAN DAL context
4830 usBssIdx: BSS Index of the session
4831 ppSession: out pointer to the session (if found)
4832
4833 @see
4834 @return Index of the session in the array
4835*/
4836wpt_uint8
4837WDI_FindAssocSessionByIdx
4838(
4839 WDI_ControlBlockType* pWDICtx,
4840 wpt_uint16 usBssIdx,
4841 WDI_BSSSessionType** ppSession
4842);
4843
4844/**
4845 @brief Helper routine used to find a session based on the BSSID
4846 @param pContext: pointer to the WLAN DAL context
4847 @param pDPContext: pointer to the Datapath context
4848
4849 @see
4850 @return
4851*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004852void
Jeff Johnson295189b2012-06-20 16:38:30 -07004853WDI_DS_AssignDatapathContext
4854(
4855 void *pContext,
4856 void *pDPContext
4857);
4858
4859/**
4860 @brief Helper routine used to find a session based on the BSSID
4861
4862
4863 @param pContext: pointer to the WLAN DAL context
4864
4865 @see
4866 @return pointer to Datapath context
4867*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004868void *
Jeff Johnson295189b2012-06-20 16:38:30 -07004869WDI_DS_GetDatapathContext
4870(
4871 void *pContext
4872);
4873
4874/**
4875 @brief Helper routine used to find a session based on the BSSID
4876
4877
4878 @param pContext: pointer to the WLAN DAL context
4879 @param pDTDriverContext: pointer to the Transport Driver context
4880
4881 @see
4882 @return void
4883*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004884void
Jeff Johnson295189b2012-06-20 16:38:30 -07004885WDT_AssignTransportDriverContext
4886(
4887 void *pContext,
4888 void *pDTDriverContext
4889);
4890
4891/**
4892 @brief Helper routine used to find a session based on the BSSID
4893
4894
4895 @param pWDICtx: pointer to the WLAN DAL context
4896
4897 @see
4898 @return pointer to datapath context
4899*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004900void *
Jeff Johnson295189b2012-06-20 16:38:30 -07004901WDT_GetTransportDriverContext
4902(
4903 void *pContext
4904);
4905
4906#ifdef FEATURE_WLAN_SCAN_PNO
4907/**
4908 @brief Process Set Preferred Network List Request function
4909
4910 @param pWDICtx: pointer to the WLAN DAL context
4911 pEventData: pointer to the event information structure
4912
4913 @see
4914 @return Result of the function call
4915*/
4916WDI_Status
4917WDI_ProcessSetPreferredNetworkReq
4918(
4919 WDI_ControlBlockType* pWDICtx,
4920 WDI_EventInfoType* pEventData
4921);
4922
4923/**
4924 @brief Process Set RSSI Filter Request function
4925
4926 @param pWDICtx: pointer to the WLAN DAL context
4927 pEventData: pointer to the event information structure
4928
4929 @see
4930 @return Result of the function call
4931*/
4932WDI_Status
4933WDI_ProcessSetRssiFilterReq
4934(
4935 WDI_ControlBlockType* pWDICtx,
4936 WDI_EventInfoType* pEventData
4937);
4938
4939/**
4940 @brief Process Update Scan Params function
4941
4942 @param pWDICtx: pointer to the WLAN DAL context
4943 pEventData: pointer to the event information structure
4944
4945 @see
4946 @return Result of the function call
4947*/
4948WDI_Status
4949WDI_ProcessUpdateScanParamsReq
4950(
4951 WDI_ControlBlockType* pWDICtx,
4952 WDI_EventInfoType* pEventData
4953);
4954
4955/**
4956 @brief Process Preferred Network Found Indication function
4957
4958 @param pWDICtx: pointer to the WLAN DAL context
4959 pEventData: pointer to the event information structure
4960
4961 @see
4962 @return Result of the function call
4963*/
4964WDI_Status
4965WDI_ProcessPrefNetworkFoundInd
4966(
4967 WDI_ControlBlockType* pWDICtx,
4968 WDI_EventInfoType* pEventData
4969);
4970
4971/**
4972 @brief Process PNO Rsp function (called when a
4973 response is being received over the bus from HAL)
4974
4975 @param pWDICtx: pointer to the WLAN DAL context
4976 pEventData: pointer to the event information structure
4977
4978 @see
4979 @return Result of the function call
4980*/
4981WDI_Status
4982WDI_ProcessSetPreferredNetworkRsp
4983(
4984 WDI_ControlBlockType* pWDICtx,
4985 WDI_EventInfoType* pEventData
4986);
4987
4988/**
4989 @brief Process RSSI Filter Rsp function (called when a
4990 response is being received over the bus from HAL)
4991
4992 @param pWDICtx: pointer to the WLAN DAL context
4993 pEventData: pointer to the event information structure
4994
4995 @see
4996 @return Result of the function call
4997*/
4998WDI_Status
4999WDI_ProcessSetRssiFilterRsp
5000(
5001 WDI_ControlBlockType* pWDICtx,
5002 WDI_EventInfoType* pEventData
5003);
5004
5005/**
5006 @brief Process Update Scan Params Rsp function (called when a
5007 response is being received over the bus from HAL)
5008
5009 @param pWDICtx: pointer to the WLAN DAL context
5010 pEventData: pointer to the event information structure
5011
5012 @see
5013 @return Result of the function call
5014*/
5015WDI_Status
5016WDI_ProcessUpdateScanParamsRsp
5017(
5018 WDI_ControlBlockType* pWDICtx,
5019 WDI_EventInfoType* pEventData
5020);
5021#endif // FEATURE_WLAN_SCAN_PNO
5022
Gopichand Nakkala5e5668f2013-05-03 13:13:06 -07005023
5024#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5025/**
5026 @brief Process Start Roam Candidate Lookup Request function
5027
5028 @param pWDICtx: pointer to the WLAN DAL context
5029 pEventData: pointer to the event information structure
5030
5031 @see
5032 @return Result of the function call
5033*/
5034WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005035WDI_ProcessRoamScanOffloadReq
Gopichand Nakkala5e5668f2013-05-03 13:13:06 -07005036(
5037 WDI_ControlBlockType* pWDICtx,
5038 WDI_EventInfoType* pEventData
5039);
5040/**
5041 @brief Process Start Roam Candidate Lookup Response function (called when a
5042 response is being received over the bus from HAL)
5043
5044 @param pWDICtx: pointer to the WLAN DAL context
5045 pEventData: pointer to the event information structure
5046
5047 @see
5048 @return Result of the function call
5049*/
5050WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005051WDI_ProcessRoamScanOffloadRsp
Gopichand Nakkala5e5668f2013-05-03 13:13:06 -07005052(
5053 WDI_ControlBlockType* pWDICtx,
5054 WDI_EventInfoType* pEventData
5055);
5056#endif
5057
5058
Jeff Johnson295189b2012-06-20 16:38:30 -07005059#ifdef WLAN_FEATURE_PACKET_FILTERING
5060/**
5061 @brief Process 8023 Multicast List Request function
5062
5063 @param pWDICtx: pointer to the WLAN DAL context
5064 pEventData: pointer to the event information structure
5065
5066 @see
5067 @return Result of the function call
5068*/
5069WDI_Status
5070WDI_Process8023MulticastListReq
5071(
5072 WDI_ControlBlockType* pWDICtx,
5073 WDI_EventInfoType* pEventData
5074);
5075
5076/**
5077 @brief Process Receive Filter Set Filter Request function
5078
5079 @param pWDICtx: pointer to the WLAN DAL context
5080 pEventData: pointer to the event information structure
5081
5082 @see
5083 @return Result of the function call
5084*/
5085WDI_Status
5086WDI_ProcessReceiveFilterSetFilterReq
5087(
5088 WDI_ControlBlockType* pWDICtx,
5089 WDI_EventInfoType* pEventData
5090);
5091
5092/**
5093 @brief Process D0 PC Filter Match Count Request function
5094
5095 @param pWDICtx: pointer to the WLAN DAL context
5096 pEventData: pointer to the event information structure
5097
5098 @see
5099 @return Result of the function call
5100*/
5101WDI_Status
5102WDI_ProcessFilterMatchCountReq
5103(
5104 WDI_ControlBlockType* pWDICtx,
5105 WDI_EventInfoType* pEventData
5106);
5107
5108/**
5109 @brief Process Receive Filter Clear Filter Request function
5110
5111 @param pWDICtx: pointer to the WLAN DAL context
5112 pEventData: pointer to the event information structure
5113
5114 @see
5115 @return Result of the function call
5116*/
5117WDI_Status
5118WDI_ProcessReceiveFilterClearFilterReq
5119(
5120 WDI_ControlBlockType* pWDICtx,
5121 WDI_EventInfoType* pEventData
5122);
5123
5124/**
5125 @brief Process 8023 Multicast List Response function
5126
5127 @param pWDICtx: pointer to the WLAN DAL context
5128 pEventData: pointer to the event information structure
5129
5130 @see
5131 @return Result of the function call
5132*/
5133WDI_Status
5134WDI_Process8023MulticastListRsp
5135(
5136 WDI_ControlBlockType* pWDICtx,
5137 WDI_EventInfoType* pEventData
5138);
5139
5140/**
5141 @brief Process Receive Filter Set Filter Response function
5142
5143 @param pWDICtx: pointer to the WLAN DAL context
5144 pEventData: pointer to the event information structure
5145
5146 @see
5147 @return Result of the function call
5148*/
5149WDI_Status
5150WDI_ProcessReceiveFilterSetFilterRsp
5151(
5152 WDI_ControlBlockType* pWDICtx,
5153 WDI_EventInfoType* pEventData
5154);
5155
5156/**
5157 @brief Process D0 PC Filter Match Count Response function
5158
5159 @param pWDICtx: pointer to the WLAN DAL context
5160 pEventData: pointer to the event information structure
5161
5162 @see
5163 @return Result of the function call
5164*/
5165WDI_Status
5166WDI_ProcessFilterMatchCountRsp
5167(
5168 WDI_ControlBlockType* pWDICtx,
5169 WDI_EventInfoType* pEventData
5170);
5171
5172/**
5173 @brief Process Receive Filter Clear Filter Response function
5174
5175 @param pWDICtx: pointer to the WLAN DAL context
5176 pEventData: pointer to the event information structure
5177
5178 @see
5179 @return Result of the function call
5180*/
5181WDI_Status
5182WDI_ProcessReceiveFilterClearFilterRsp
5183(
5184 WDI_ControlBlockType* pWDICtx,
5185 WDI_EventInfoType* pEventData
5186);
5187#endif // WLAN_FEATURE_PACKET_FILTERING
5188
5189#ifdef WLAN_FEATURE_GTK_OFFLOAD
5190/**
5191 @brief Process set GTK Offload Request function
5192
5193 @param pWDICtx: pointer to the WLAN DAL context
5194 pEventData: pointer to the event information structure
5195
5196 @see
5197 @return Result of the function call
5198*/
5199WDI_Status
5200WDI_ProcessGTKOffloadReq
5201(
5202 WDI_ControlBlockType* pWDICtx,
5203 WDI_EventInfoType* pEventData
5204);
5205
5206/**
5207 @brief Process GTK Offload Get Information Request function
5208
5209 @param pWDICtx: pointer to the WLAN DAL context
5210 pEventData: pointer to the event information structure
5211
5212 @see
5213 @return Result of the function call
5214*/
5215WDI_Status
5216WDI_ProcessGTKOffloadGetInfoReq
5217(
5218 WDI_ControlBlockType* pWDICtx,
5219 WDI_EventInfoType* pEventData
5220);
5221
5222/**
5223 @brief Process host offload Rsp function (called when a
5224 response is being received over the bus from HAL)
5225
5226 @param pWDICtx: pointer to the WLAN DAL context
5227 pEventData: pointer to the event information structure
5228
5229 @see
5230 @return Result of the function call
5231*/
5232WDI_Status
5233WDI_ProcessGtkOffloadRsp
5234(
5235 WDI_ControlBlockType* pWDICtx,
5236 WDI_EventInfoType* pEventData
5237);
5238
5239/**
5240 @brief Process GTK Offload Get Information Response function
5241
5242 @param pWDICtx: pointer to the WLAN DAL context
5243 pEventData: pointer to the event information structure
5244
5245 @see
5246 @return Result of the function call
5247*/
5248WDI_Status
5249WDI_ProcessGTKOffloadGetInfoRsp
5250(
5251 WDI_ControlBlockType* pWDICtx,
5252 WDI_EventInfoType* pEventData
5253);
5254#endif // WLAN_FEATURE_GTK_OFFLOAD
5255
5256#ifdef WLAN_WAKEUP_EVENTS
5257WDI_Status
5258WDI_ProcessWakeReasonInd
5259(
5260 WDI_ControlBlockType* pWDICtx,
5261 WDI_EventInfoType* pEventData
5262);
5263#endif // WLAN_WAKEUP_EVENTS
5264
5265/**
5266 @brief Process Host-FW Capability Exchange Request function
5267
5268 @param pWDICtx: pointer to the WLAN DAL context
5269 pEventData: pointer to the event information structure
5270
5271 @see
5272 @return Result of the function call
5273*/
5274WDI_Status
5275WDI_ProcessFeatureCapsExchangeReq
5276(
5277 WDI_ControlBlockType* pWDICtx,
5278 WDI_EventInfoType* pEventData
5279);
5280
5281/**
5282 @brief Process Host-FW Capability Exchange Response function
5283
5284 @param pWDICtx: pointer to the WLAN DAL context
5285 pEventData: pointer to the event information structure
5286
5287 @see
5288 @return Result of the function call
5289*/
5290WDI_Status
5291WDI_ProcessFeatureCapsExchangeRsp
5292(
5293 WDI_ControlBlockType* pWDICtx,
5294 WDI_EventInfoType* pEventData
5295);
5296
Mohit Khanna4a70d262012-09-11 16:30:12 -07005297#ifdef WLAN_FEATURE_11AC
5298WDI_Status
5299WDI_ProcessUpdateVHTOpModeReq
5300(
5301 WDI_ControlBlockType* pWDICtx,
5302 WDI_EventInfoType* pEventData
5303);
5304
5305WDI_Status
5306WDI_ProcessUpdateVHTOpModeRsp
5307(
5308 WDI_ControlBlockType* pWDICtx,
5309 WDI_EventInfoType* pEventData
5310);
5311#endif
5312
Gopichand Nakkala5e5668f2013-05-03 13:13:06 -07005313#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5314/**
5315 * @brief WDI_wdiEdTypeEncToEdTypeEnc -
5316 * The firmware expects the Encryption type to be in EdType.
5317 * This function converts the WdiEdType encryption to EdType.
5318 * @param tEdType : EdType to which the encryption needs to be converted.
5319 * @param WDI_EdType : wdiEdType passed from the upper layer.
5320 * @see
5321 * @return none
5322 * */
5323void
5324WDI_wdiEdTypeEncToEdTypeEnc
5325(
5326 tEdType *EdType,
5327 WDI_EdType wdiEdType
5328);
5329#endif
5330
Leo Chang9056f462013-08-01 19:21:11 -07005331#ifdef FEATURE_WLAN_LPHB
5332/**
5333 @brief WDI_ProcessLphbCfgRsp -
5334 LPHB configuration response from FW
5335
5336 @param pWDICtx : wdi context
5337 pEventData : indication data
5338
5339 @see
5340 @return Result of the function call
5341*/
5342WDI_Status WDI_ProcessLphbCfgRsp
5343(
5344 WDI_ControlBlockType* pWDICtx,
5345 WDI_EventInfoType* pEventData
5346);
5347#endif /* FEATURE_WLAN_LPHB */
5348
Jeff Johnson295189b2012-06-20 16:38:30 -07005349#endif /*WLAN_QCT_WDI_I_H*/
5350