/
wlan_lib.c
6293 lines (5472 loc) · 200 KB
/
wlan_lib.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
** Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/common/wlan_lib.c#2
*/
/*! \file wlan_lib.c
\brief Internal driver stack will export the required procedures here for GLUE Layer.
This file contains all routines which are exported from MediaTek 802.11 Wireless
LAN driver stack to GLUE Layer.
*/
/*
** Log: wlan_lib.c
**
** 08 15 2012 eason.tsai
** [ALPS00338170] [Need Patch] [Volunteer Patch] modify build warning
** fix build waring for codechange
*
* 07 13 2012 cp.wu
* [WCXRP00001259] [MT6620 Wi-Fi][Driver][Firmware] Send a signal to firmware for termination
* after SDIO error has happened
* [driver domain] add force reset by host-to-device interrupt mechanism
*
* 06 11 2012 cp.wu
* [WCXRP00001252] [MT6620 Wi-Fi][Driver] Add debug message while encountering firmware response timeout
* output message while timeout event occurs
*
* 06 11 2012 eason.tsai
* NULL
* change from binay to hex code
*
* 06 08 2012 eason.tsai
* NULL
* Nvram context covert from 6620 to 6628 for old 6620 meta tool
*
* 05 11 2012 cp.wu
* [WCXRP00001237] [MT6620 Wi-Fi][Driver] Show MAC address and MAC address source for ACS's convenience
* show MAC address & source while initiliazation
*
* 03 29 2012 eason.tsai
* [WCXRP00001216] [MT6628 Wi-Fi][Driver]add conditional define
* add conditional define.
*
* 03 04 2012 eason.tsai
* NULL
* modify the cal fail report code.
*
* 03 02 2012 terry.wu
* NULL
* Sync CFG80211 modification from branch 2,2.
*
* 01 16 2012 cp.wu
* [WCXRP00001169] [MT6620 Wi-Fi][Driver] API and behavior modification for preferred band
* configuration with corresponding network configuration correct scan result removing policy.
*
* 01 16 2012 cp.wu
* [MT6620 Wi-Fi][Driver] API and behavior modification for preferred band configuration with
* corresponding network configuration add wlanSetPreferBandByNetwork() for glue layer to invoke
* for setting preferred band configuration corresponding to network type.
*
* 01 05 2012 wh.su
* [WCXRP00001153] [MT6620 Wi-Fi][Driver] Adding the get_ch_list and set_tx_power proto type function
* Adding the related ioctl / wlan oid function to set the Tx power cfg.
*
* 11 28 2011 cp.wu
* [WCXRP00001125] [MT6620 Wi-Fi][Firmware] Strengthen Wi-Fi power off sequence to have a clearroom environment
* when returining to ROM code
* 1. Due to firmware now stops HIF DMA for powering off, do not try to receive any packet from firmware
* 2. Take use of prAdapter->fgIsEnterD3ReqIssued for tracking whether it is powering off or not
*
* 11 14 2011 cm.chang
* [WCXRP00001104] [All Wi-Fi][FW] Show init process by HW mail-box register
* Show FW initial ID when timeout to wait for ready bit
*
* 11 11 2011 wh.su
* [WCXRP00001078] [MT6620 Wi-Fi][Driver] Adding the mediatek log improment support : XLOG
* modify the xlog related code.
*
* 10 18 2011 cp.wu
* [WCXRP00001022] [MT6628 Driver][Firmware Download] Add multi section independent download functionality
* when powering off, always clear pending interrupts, then wait for RDY to be de-asserted
*
* 10 14 2011 cp.wu
* [WCXRP00001022] [MT6628 Driver][Firmware Download] Add multi section independent download functionality
* shorten the packet length for firmware download if no more than 2048 bytes.
*
* 10 03 2011 cp.wu
* [WCXRP00001022] [MT6628 Driver][Firmware Download] Add multi section independent download functionality
* add firmware download path in divided scatters.
*
* 10 03 2011 cp.wu
* [MT6628 Driver][Firmware Download] Add multi section independent download functionality
* add firmware downloading aggregated path.
*
* 09 30 2011 cm.chang
* [WCXRP00001020] [MT6620 Wi-Fi][Driver] Handle secondary channel offset of AP in 5GHz band
* .
*
* 09 20 2011 cp.wu
* [WCXRP00000994] [MT6620 Wi-Fi][Driver] dump message for bus error and reset bus error flag while re-initialized
* 1. always show error message for SDIO bus errors.
* 2. reset bus error flag when re-initialization
*
* 08 26 2011 cm.chang
* [WCXRP00000952] [MT5931 Wi-Fi][FW] Handshake with BWCS before DPD/TX power calibration
* Fix compiling error for WinXP MT5931 driver
*
* 08 25 2011 chinghwa.yu
* [WCXRP00000063] Update BCM CoEx design and settings
* Add BWCS Sync ready for WinXP.
*
* 08 25 2011 chinghwa.yu
* [WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
* Add DFS switch.
*
* 08 24 2011 chinghwa.yu
* [WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
* Update RDD test mode cases.
*
* 08 19 2011 cp.wu
* [WCXRP00000702] [MT5931][Driver] Modify initialization sequence for E1 ASIC
* escape from normal path if any error is occurred.
*
* 08 15 2011 cp.wu
* [WCXRP00000851] [MT6628 Wi-Fi][Driver] Add HIFSYS related definition to driver source tree
* reuse firmware download logic of MT6620 for MT6628.
*
* 08 15 2011 cp.wu
* [WCXRP00000913] [MT6620 Wi-Fi] create repository of source code dedicated for MT6620 E6 ASIC
* support to load different firmware image for E3/E4/E5 and E6 ASIC on win32 platforms.
*
* 08 02 2011 yuche.tsai
* [WCXRP00000896] [Volunteer Patch][WiFi Direct][Driver] GO with multiple client, TX deauth to a
* disconnecting device issue.
* Fix GO send deauth frame issue.
*
* 07 22 2011 jeffrey.chang
* [WCXRP00000864] [MT5931] Add command to adjust OSC stable time
* modify driver to set OSC stable time after f/w download
*
* 07 18 2011 chinghwa.yu
* [WCXRP00000063] Update BCM CoEx design and settings[WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
* Add CMD/Event for RDD and BWCS.
*
* 06 24 2011 cp.wu
* [WCXRP00000812] [MT6620 Wi-Fi][Driver] not show NVRAM when there is no valid MAC address in NVRAM content
* if there is no valid address in chip, generate a new one from driver domain instead of firmware domain
* due to sufficient randomness
*
* 06 23 2011 cp.wu
* [WCXRP00000812] [MT6620 Wi-Fi][Driver] not show NVRAM when there is no valid MAC address in NVRAM content
* check with firmware for valid MAC address.
*
* 06 20 2011 cp.wu
* [WCXRP00000702] [MT5931][Driver] Modify initialization sequence for E1 ASIC
* disable whole-chip resetting mechanism due to the need of further ECO to work as expected.
*
* 05 31 2011 cp.wu
* [WCXRP00000749] [MT6620 Wi-Fi][Driver] Add band edge tx power control to Wi-Fi NVRAM
* changed to use non-zero checking for valid bit in NVRAM content
*
* 05 27 2011 cp.wu
* [WCXRP00000749] [MT6620 Wi-Fi][Driver] Add band edge tx power control to Wi-Fi NVRAM
* invoke CMD_ID_SET_EDGE_TXPWR_LIMIT when there is valid data exist in NVRAM content.
*
* 05 18 2011 cp.wu
* [WCXRP00000734] [MT6620 Wi-Fi][Driver] Pass PHY_PARAM in NVRAM to firmware domain
* pass PHY_PARAM in NVRAM from driver to firmware.
*
* 05 11 2011 cp.wu
* [WCXRP00000718] [MT6620 Wi-Fi] modify the behavior of setting tx power
* correct assertion.
*
* 05 11 2011 cp.wu
* [WCXRP00000718] [MT6620 Wi-Fi] modify the behavior of setting tx power
* ACPI APIs migrate to wlan_lib.c for glue layer to invoke.
*
* 05 11 2011 cm.chang
* [WCXRP00000717] [MT5931 Wi-Fi][Driver] Handle wrong NVRAM content about AP bandwidth setting
* .
*
* 05 05 2011 cp.wu
* [WCXRP00000702] [MT5931][Driver] Modify initialization sequence for E1 ASIC
* change delay from 100ms to 120ms upon DE's suggestion.
*
* 05 05 2011 cp.wu
* [WCXRP00000702] [MT5931][Driver] Modify initialization sequence for E1 ASIC
* add delay after whole-chip resetting for MT5931 E1 ASIC.
*
* 04 22 2011 cp.wu
* [WCXRP00000598] [MT6620 Wi-Fi][Driver] Implementation of interface for communicating with user space
* process for RESET_START and RESET_END events skip power-off handshaking when RESET indication is received.
*
* 04 22 2011 george.huang
* [WCXRP00000621] [MT6620 Wi-Fi][Driver] Support P2P supplicant to set power mode
* .
*
* 04 18 2011 cp.wu
* [WCXRP00000636] [WHQL][MT5931 Driver] 2c_PMHibernate (hang on 2h)
* 1) add API for glue layer to query ACPI state
* 2) Windows glue should not access to hardware after switched into D3 state
*
* 04 15 2011 cp.wu
* [WCXRP00000654] [MT6620 Wi-Fi][Driver] Add loop termination criterion for wlanAdapterStop().
* add loop termination criteria for wlanAdapterStop().
*
* 04 12 2011 eddie.chen
* [WCXRP00000617] [MT6620 Wi-Fi][DRV/FW] Fix for sigma
* Fix the sta index in processing security frame
* Simple flow control for TC4 to avoid mgt frames for PS STA to occupy the TC4
* Add debug message.
*
* 04 12 2011 cp.wu
* [WCXRP00000631] [MT6620 Wi-Fi][Driver] Add an API for QM to retrieve current TC counter value and processing
* frame dropping cases for TC4 path
* 1. add nicTxGetResource() API for QM to make decisions.
* 2. if management frames is decided by QM for dropping, the call back is invoked to indicate such a case.
*
* 04 06 2011 cp.wu
* [WCXRP00000616] [MT6620 Wi-Fi][Driver] Free memory to pool and kernel in case any unexpected failure
* happend inside wlanAdapterStart invoke nicReleaseAdapterMemory() as failure handling in case
* wlanAdapterStart() failed unexpectedly
*
* 03 29 2011 wh.su
* [WCXRP00000248] [MT6620 Wi-Fi][FW]Fixed the Klockwork error
* fixed the kclocwork error.
*
* 03 15 2011 cp.wu
* [WCXRP00000559] [MT6620 Wi-Fi][Driver] Combine TX/RX DMA buffers into a single one to reduce physically
* continuous memory consumption
* 1. deprecate CFG_HANDLE_IST_IN_SDIO_CALLBACK
* 2. Use common coalescing buffer for both TX/RX directions
*
*
* 03 10 2011 cp.wu
* [WCXRP00000532] [MT6620 Wi-Fi][Driver] Migrate NVRAM configuration procedures from MT6620 E2 to MT6620 E3
* deprecate configuration used by MT6620 E2
*
* 03 07 2011 terry.wu
* [WCXRP00000521] [MT6620 Wi-Fi][Driver] Remove non-standard debug message
* Toggle non-standard debug messages to comments.
*
* 02 25 2011 cp.wu
* [WCXRP00000496] [MT5931][Driver] Apply host-triggered chip reset before initializing firmware download procedures
* apply host-triggered chip reset mechanism before initializing firmware download procedures.
*
* 02 17 2011 eddie.chen
* [WCXRP00000458] [MT6620 Wi-Fi][Driver] BOW Concurrent - ProbeResp was exist in other channel
* 1) Change GetFrameAction decision when BSS is absent.
* 2) Check channel and resource in processing ProbeRequest
*
* 02 16 2011 cm.chang
* [WCXRP00000447] [MT6620 Wi-Fi][FW] Support new NVRAM update mechanism
* .
*
* 02 01 2011 george.huang
* [WCXRP00000333] [MT5931][FW] support SRAM power control drivers
* init variable for CTIA.
*
* 01 27 2011 george.huang
* [WCXRP00000355] [MT6620 Wi-Fi] Set WMM-PS related setting with qualifying AP capability
* Support current measure mode, assigned by registry (XP only).
*
* 01 24 2011 cp.wu
* [WCXRP00000382] [MT6620 Wi-Fi][Driver] Track forwarding packet number with notifying tx thread for serving
* 1. add an extra counter for tracking pending forward frames.
* 2. notify TX service thread as well when there is pending forward frame
* 3. correct build errors leaded by introduction of Wi-Fi direct separation module
*
* 01 12 2011 cm.chang
* [WCXRP00000354] [MT6620 Wi-Fi][Driver][FW] Follow NVRAM bandwidth setting
* User-defined bandwidth is for 2.4G and 5G individually
*
* 01 10 2011 cp.wu
* [WCXRP00000351] [MT6620 Wi-Fi][Driver] remove from scanning result in OID handling layer when the
* corresponding BSS is disconnected due to beacon timeout remove from scanning result when the BSS
* is disconnected due to beacon timeout.
*
* 01 04 2011 cp.wu
* [WCXRP00000338] [MT6620 Wi-Fi][Driver] Separate kalMemAlloc into kmalloc and vmalloc implementations to
* ease physically continuous memory demands separate kalMemAlloc() into virtually-continuous
* and physically-continuous type to ease slab system pressure
*
* 12 31 2010 cp.wu
* [WCXRP00000327] [MT6620 Wi-Fi][Driver] Improve HEC WHQA 6972 workaround coverage in driver side
* while being unloaded, clear all pending interrupt then set LP-own to firmware
*
* 12 31 2010 cp.wu
* [WCXRP00000335] [MT6620 Wi-Fi][Driver] change to use milliseconds sleep instead of delay
* to avoid blocking to system scheduling change to use msleep() and shorten waiting interval
* to reduce blocking to other task while Wi-Fi driver is being loaded
*
* 12 28 2010 cp.wu
* [WCXRP00000269] [MT6620 Wi-Fi][Driver][Firmware] Prepare for v1.1 branch release
* report EEPROM used flag via NIC_CAPABILITY
*
* 12 28 2010 cp.wu
* [WCXRP00000269] [MT6620 Wi-Fi][Driver][Firmware] Prepare for v1.1 branch release
* integrate with 'EEPROM used' flag for reporting correct capability to Engineer Mode/META and other tools
*
* 12 22 2010 eddie.chen
* [WCXRP00000218] [MT6620 Wi-Fi][Driver] Add auto rate window control in registry
* Remove controling auto rate from initial setting. The initial setting is defined by FW code.
*
* 12 15 2010 cp.wu
* NULL
* sync. with ALPS code by enabling interrupt just before leaving wlanAdapterStart()
*
* 12 08 2010 yuche.tsai
* [WCXRP00000245] [MT6620][Driver] Invitation & Provision Discovery Feature Check-in
* Change Param name for invitation connection.
*
* 12 07 2010 cm.chang
* [WCXRP00000238] MT6620 Wi-Fi][Driver][FW] Support regulation domain setting from NVRAM and supplicant
* 1. Country code is from NVRAM or supplicant
* 2. Change band definition in CMD/EVENT.
*
* 11 03 2010 cp.wu
* [WCXRP00000083] [MT5931][Driver][FW] Add necessary logic for MT5931 first connection
* 1) use 8 buffers for MT5931 which is equipped with less memory
* 2) modify MT5931 debug level to TRACE when download is successful
*
* 11 02 2010 cp.wu
* [WCXRP00000083] [MT5931][Driver][FW] Add necessary logic for MT5931 first connection
* for MT5931, adapter initialization is done *after* firmware is downloaded.
*
* 11 02 2010 cp.wu
* [WCXRP00000083] [MT5931][Driver][FW] Add necessary logic for MT5931 first connection
* correct MT5931 firmware download procedure:
* MT5931 will download firmware first then acquire LP-OWN
*
* 11 02 2010 cp.wu
* [WCXRP00000083] [MT5931][Driver][FW] Add necessary logic for MT5931 first connection
* 1) update MT5931 firmware encryption tool. (using 64-bytes unit)
* 2) update MT5931 firmware download procedure
*
* 11 01 2010 cp.wu
* [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version
* Check[WCXRP00000150] [MT6620 Wi-Fi][Driver] Add implementation for querying
* current TX rate from firmware auto rate module
* 1) Query link speed (TX rate) from firmware directly with buffering mechanism to reduce overhead
* 2) Remove CNM CH-RECOVER event handling
* 3) cfg read/write API renamed with kal prefix for unified naming rules.
*
* 11 01 2010 yarco.yang
* [WCXRP00000149] [MT6620 WI-Fi][Driver]Fine tune performance on MT6516 platform
* Add code to run WlanIST in SDIO callback.
*
* 10 27 2010 george.huang
* [WCXRP00000127] [MT6620 Wi-Fi][Driver] Add a registry to disable Beacon Timeout function
* for SQA test by using E1 EVB
* Support registry option for disable beacon lost detection.
*
* 10 26 2010 cp.wu
* [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version
* Check[WCXRP00000137] [MT6620 Wi-Fi] [FW] Support NIC capability query command
* 1) update NVRAM content template to ver 1.02
* 2) add compile option for querying NIC capability (default: off)
* 3) modify AIS 5GHz support to run-time option, which could be turned on by registry or NVRAM setting
* 4) correct auto-rate compiler error under linux (treat warning as error)
* 5) simplify usage of NVRAM and REG_INFO_T
* 6) add version checking between driver and firmware
*
* 10 26 2010 eddie.chen
* [WCXRP00000134] [MT6620 Wi-Fi][Driver] Add a registry to enable auto rate for SQA test by using E1 EVB
* Add auto rate parameter in registry.
*
* 10 25 2010 cp.wu
* [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
* add option for enable/disable TX PWR gain adjustment (default: off)
*
* 10 18 2010 cp.wu
* [WCXRP00000117] [MT6620 Wi-Fi][Driver] Add logic for suspending driver when MT6620 is not responding anymore
* 1. when wlanAdapterStop() failed to send POWER CTRL command to firmware, do not poll for ready bit dis-assertion
* 2. shorten polling count for shorter response time
* 3. if bad I/O operation is detected during TX resource polling, then further operation is aborted as well
*
* 10 18 2010 cp.wu
* [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version
* Check[WCXRP00000086] [MT6620 Wi-Fi][Driver] The mac address is all zero at android
* complete implementation of Android NVRAM access
*
* 10 15 2010 cp.wu
* [WCXRP00000103] [MT6620 Wi-Fi][Driver] Driver crashed when using WZC to connect to AP#B with connection with AP#A
* bugfix: always reset pointer to IEbuf to zero when keeping scanning result for the connected AP
*
* 10 08 2010 cp.wu
* [WCXRP00000084] [MT6620 Wi-Fi][Driver][FW] Add fixed rate support for distance test
* adding fixed rate support for distance test. (from registry setting)
*
* 10 07 2010 cp.wu
* [WCXRP00000083] [MT5931][Driver][FW] Add necessary logic for MT5931 first connection
* add firmware download for MT5931.
*
* 10 06 2010 cp.wu
* [WCXRP00000052] [MT6620 Wi-Fi][Driver] Eliminate Linux Compile Warning
* divide a single function into 2 part to surpress a weird compiler warning from gcc-4.4.0
*
* 10 06 2010 cp.wu
* [WCXRP00000052] [MT6620 Wi-Fi][Driver] Eliminate Linux Compile Warning
* code reorganization to improve isolation between GLUE and CORE layers.
*
* 10 05 2010 cp.wu
* [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
* load manufacture data when CFG_SUPPORT_NVRAM is set to 1
*
* 10 04 2010 cp.wu
* [WCXRP00000077] [MT6620 Wi-Fi][Driver][FW] Eliminate use of ENUM_NETWORK_TYPE_T and replaced
* by ENUM_NETWORK_TYPE_INDEX_T only
* remove ENUM_NETWORK_TYPE_T definitions
*
* 09 29 2010 wh.su
* [WCXRP00000072] [MT6620 Wi-Fi][Driver] Fix TKIP Counter Measure EAPoL callback register issue
* [MT6620 Wi-Fi][Driver] Fix TKIP Counter Measure EAPoL callback register issue.
*
* 09 24 2010 cp.wu
* [WCXRP00000052] [MT6620 Wi-Fi][Driver] Eliminate Linux Compile Warning
* eliminate unused variables which lead gcc to argue
*
* 09 24 2010 cp.wu
* [WCXRP00000057] [MT6620 Wi-Fi][Driver] Modify online scan to a run-time switchable feature
* Modify online scan as a run-time adjustable option (for Windows, in registry)
*
* 09 23 2010 cp.wu
* [WCXRP00000051] [MT6620 Wi-Fi][Driver] WHQL test fail in MAC address changed item
* use firmware reported mac address right after wlanAdapterStart() as permanent address
*
* 09 23 2010 cp.wu
* [WCXRP00000052] [MT6620 Wi-Fi][Driver] Eliminate Linux Compile Warning
* eliminate reference of CFG_RESPONSE_MAX_PKT_SIZE
*
* 09 21 2010 cp.wu
* [WCXRP00000053] [MT6620 Wi-Fi][Driver] Reset incomplete and might leads to BSOD when entering RF test with
* AIS associated
* Do a complete reset with STA-REC null checking for RF test re-entry
*
* 09 21 2010 kevin.huang
* [WCXRP00000052] [MT6620 Wi-Fi][Driver] Eliminate Linux Compile Warning
* Eliminate Linux Compile Warning
*
* 09 13 2010 cp.wu
* NULL
* acquire & release power control in oid handing wrapper.
*
* 09 09 2010 cp.wu
* NULL
* move IE to buffer head when the IE pointer is not pointed at head.
*
* 09 08 2010 cp.wu
* NULL
* use static memory pool for storing IEs of scanning result.
*
* 09 01 2010 cp.wu
* NULL
* HIFSYS Clock Source Workaround
*
* 09 01 2010 wh.su
* NULL
* adding the wapi support for integration test.
*
* 09 01 2010 cp.wu
* NULL
* move HIF CR initialization from where after sdioSetupCardFeature() to wlanAdapterStart()
*
* 08 30 2010 cp.wu
* NULL
* eliminate klockwork errors
*
* 08 26 2010 yuche.tsai
* NULL
* Add AT GO test configure mode under WinXP.
* Please enable 1. CFG_ENABLE_WIFI_DIRECT, 2. CFG_TEST_WIFI_DIRECT_GO, 3. CFG_SUPPORT_AAA
*
* 08 25 2010 george.huang
* NULL
* update OID/ registry control path for PM related settings
*
* 08 24 2010 cp.wu
* NULL
* 1) initialize variable for enabling short premable/short time slot.
* 2) add compile option for disabling online scan
*
* 08 13 2010 cp.wu
* NULL
* correction issue: desired phy type not initialized as ABGN mode.
*
* 08 12 2010 cp.wu
* NULL
* [AIS-FSM] honor registry setting for adhoc running mode. (A/B/G)
*
* 08 10 2010 cm.chang
* NULL
* Support EEPROM read/write in RF test mode
*
* 08 03 2010 cp.wu
* NULL
* surpress compilation warning.
*
* 08 03 2010 cp.wu
* NULL
* Centralize mgmt/system service procedures into independent calls.
*
* 07 30 2010 cp.wu
* NULL
* 1) BoW wrapper: use definitions instead of hard-coded constant for error code
* 2) AIS-FSM: eliminate use of desired RF parameters, use prTargetBssDesc instead
* 3) add handling for RX_PKT_DESTINATION_HOST_WITH_FORWARD for GO-broadcast frames
*
* 07 29 2010 cp.wu
* NULL
* eliminate u4FreqInKHz usage, combined into rConnections.ucAdHoc*
*
* 07 28 2010 cp.wu
* NULL
* 1) eliminate redundant variable eOPMode in prAdapter->rWlanInfo
* 2) change nicMediaStateChange() API prototype
*
* 07 21 2010 cp.wu
*
* 1) change BG_SCAN to ONLINE_SCAN for consistent term
* 2) only clear scanning result when scan is permitted to do
*
* 07 19 2010 cm.chang
*
* Set RLM parameters and enable CNM channel manager
*
* 07 19 2010 jeffrey.chang
*
* Linux port modification
*
* 07 13 2010 cp.wu
*
* [WPD00003833] [MT6620 and MT5931] Driver migration.
* Reduce unnecessary type casting
*
* 07 13 2010 cp.wu
*
* use multiple queues to keep 1x/MMPDU/CMD's strict order even when there is incoming 1x frames.
*
* 07 13 2010 cp.wu
*
* 1) MMPDUs are now sent to MT6620 by CMD queue for keeping strict order of 1X/MMPDU/CMD packets
* 2) integrate with qmGetFrameAction() for deciding which MMPDU/1X could pass checking for sending
* 2) enhance CMD_INFO_T descriptor number from 10 to 32 to avoid descriptor underflow under concurrent
* network operation
*
* 07 08 2010 cp.wu
*
* [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
*
* 07 05 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* 1) ignore RSN checking when RSN is not turned on.
* 2) set STA-REC deactivation callback as NULL
* 3) add variable initialization API based on PHY configuration
*
* 07 02 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* 1) for event packet, no need to fill RFB.
* 2) when wlanAdapterStart() failed, no need to initialize state machines
* 3) after Beacon/ProbeResp parsing, corresponding BSS_DESC_T should be marked as IE-parsed
*
* 07 01 2010 cm.chang
* [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
* Support sync command of STA_REC
*
* 07 01 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* add scan uninitialization procedure
*
* 06 25 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* add API in que_mgt to retrieve sta-rec index for security frames.
*
* 06 24 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* 802.1x and bluetooth-over-Wi-Fi security frames are now delievered to firmware via command path instead of data path.
*
* 06 23 2010 yarco.yang
* [WPD00003837][MT6620]Data Path Refine
* Merge g_arStaRec[] into adapter->arStaRec[]
*
* 06 21 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* initialize mbox & ais_fsm in wlanAdapterStart()
*
* 06 21 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* change MAC address updating logic.
*
* 06 21 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* simplify timer usage.
*
* 06 11 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* 1) migrate assoc.c.
* 2) add ucTxSeqNum for tracking frames which needs TX-DONE awareness
* 3) add configuration options for CNM_MEM and RSN modules
* 4) add data path for management frames
* 5) eliminate rPacketInfo of MSDU_INFO_T
*
* 06 10 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* 1) eliminate CFG_CMD_EVENT_VERSION_0_9
* 2) when disconnected, indicate nic directly (no event is needed)
*
* 06 08 2010 cp.wu
* [WPD00003833][MT6620 and MT5931] Driver migration
* cnm_timer has been migrated.
*
* 06 06 2010 kevin.huang
* [WPD00003832][MT6620 5931] Create driver base
* [MT6620 5931] Create driver base
*
* 05 28 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* disable interrupt then send power control command packet.
*
* 05 24 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) when stopping adapter, wait til RDY bit has been cleaerd.
* 2) set TASK_OFFLOAD as driver-core OIDs
*
* 05 20 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) integrate OID_GEN_NETWORK_LAYER_ADDRESSES with CMD_ID_SET_IP_ADDRESS
* 2) buffer statistics data for 2 seconds
* 3) use default value for adhoc parameters instead of 0
*
* 05 19 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) do not take timeout mechanism for power mode oids
* 2) retrieve network type from connection status
* 3) after disassciation, set radio state to off
* 4) TCP option over IPv6 is supported
*
* 05 17 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* add CFG_STARTUP_DEBUG for debugging starting up issue.
*
* 05 17 2010 cp.wu
* [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
* 1) add timeout handler mechanism for pending command packets
* 2) add p2p add/removal key
*
* 04 23 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* surpress compiler warning
*
* 04 20 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* roll-back to rev.60.
*
* 04 20 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) remove redundant firmware image unloading
* 2) use compile-time macros to separate logic related to accquiring own
*
* 04 16 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* treat BUS access failure as kind of card removal.
*
* 04 14 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* always set fw-own before driver is unloaded.
*
* 04 13 2010 cp.wu
* [WPD00003823][MT6620 Wi-Fi] Add Bluetooth-over-Wi-Fi support
* add framework for BT-over-Wi-Fi support.
* * * 1) prPendingCmdInfo is replaced by queue for multiple handler capability
* * * 2) command sequence number is now increased atomically
* * * 3) private data could be hold and taken use for other purpose
*
* 04 07 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* finish non-glue layer access to glue variables
*
* 04 07 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* rWlanInfo should be placed at adapter rather than glue due to most operations
* are done in adapter layer.
*
* 04 06 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* ePowerCtrl is not necessary as a glue variable.
*
* 04 06 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* add timeout check in the kalOidComplete
*
* 04 06 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* improve none-glue code portability
*
* 04 06 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* improve none-glue code portability
*
* 04 06 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* code refine: fgTestMode should be at adapter rather than glue due to the device/fw is also involved
*
* 04 06 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* eliminate direct access for prGlueInfo->fgIsCardRemoved in non-glue layer
*
* 04 06 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) for some OID, never do timeout expiration
* 2) add 2 kal API for later integration
*
* 04 06 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) eliminate unused definitions
* 2) ready bit will be polled for limited iteration
*
* 04 06 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* kalOidComplete is not necessary in linux
*
* 04 01 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* change to use pass-in prRegInfo instead of accessing prGlueInfo directly
*
* 04 01 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* change to use WIFI_TCM_ALWAYS_ON as firmware image
*
* 04 01 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* .
*
* 03 31 2010 wh.su
* [WPD00003816][MT6620 Wi-Fi] Adding the security support
* modify the wapi related code for new driver's design.
*
* 03 30 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* adding none-glue code portability
*
* 03 30 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* adding non-glue code portability
*
* 03 29 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* improve non-glue code portability
*
* 03 25 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* firmware download load address & start address are now configured from config.h
* due to the different configurations on FPGA and ASIC
*
* 03 24 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* [WPD00003826] Initial import for Linux port
* initial import for Linux port
*
* 03 24 2010 jeffrey.chang
* [WPD00003826]Initial import for Linux port
* initial import for Linux port
*
* 03 22 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* only send CMD_NIC_POWER_CTRL in wlanAdapterStop() when card is not removed and is not in D3 state
*
* 03 22 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* always send CMD_NIC_POWER_CTRL packet when nic is being halted
*
* 03 19 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) add ACPI D0/D3 state switching support
* 2) use more formal way to handle interrupt when the status is retrieved from enhanced RX response
*
* 03 12 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* add two option for ACK and ENCRYPTION for firmware download
*
* 03 11 2010 cp.wu
* [WPD00003821][BUG] Host driver stops processing RX packets from HIF RX0
* add RX starvation warning debug message controlled by CFG_HIF_RX_STARVATION_WARNING
*
* 03 08 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) add another spin-lock to protect MsduInfoList due to it might be accessed by different thread.
* 2) change own-back acquiring procedure to wait for up to 16.67 seconds
*
* 03 03 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* when starting adapter, read local adminsitrated address from registry and send to firmware via CMD_BASIC_CONFIG.
*
* 03 02 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) the use of prPendingOid revised, all accessing are now protected by spin lock
* 2) ensure wlanReleasePendingOid will clear all command queues
*
* 03 02 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* add mutex to avoid multiple access to qmTxQueue simultaneously.
*
* 03 01 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* add command/event definitions for initial states
*
* 02 24 2010 tehuang.liu
* [WPD00001943]Create WiFi test driver framework on WinXP
* Added code for QM_TEST_MODE
*
* 02 24 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* correct function name ..
*
* 02 24 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* separate wlanProcesQueuePacket() into 2 APIs upon request
*
* 02 23 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* add new API: wlanProcessQueuedPackets()
*
* 02 11 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* correct wlanAdapterStart
*
* 02 11 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1. add logic for firmware download
* 2. firmware image filename and start/load address are now retrieved from registry
*
* 02 10 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* implement host-side firmware download logic
*
* 02 10 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) remove unused function in nic_rx.c [which has been handled in que_mgt.c]
* 2) firmware image length is now retrieved via NdisFileOpen
* 3) firmware image is not structured by (P_IMG_SEC_HDR_T) anymore
* 4) nicRxWaitResponse() revised
* 5) another set of TQ counter default value is added for fw-download state
* 6) Wi-Fi load address is now retrieved from registry too
*
* 02 09 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1. Permanent and current MAC address are now retrieved by CMD/EVENT packets instead of hard-coded address
* 2. follow MSDN defined behavior when associates to another AP
* 3. for firmware download, packet size could be up to 2048 bytes
*
* 02 08 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* prepare for implementing fw download logic
*
* 02 03 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* wlanoidSetFrequency is now implemented by RF test command.
*
* 02 03 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* QueryRssi is no longer w/o hardware access, it is now implemented by command/event handling loop
*
* 02 03 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1. clear prPendingCmdInfo properly
* 2. while allocating memory for cmdinfo, no need to add extra 4 bytes.
*
* 01 28 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* allow MCR read/write OIDs in RF test mode
*
* 01 27 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1) implement timeout mechanism when OID is pending for longer than 1 second
* 2) allow OID_802_11_CONFIGURATION to be executed when RF test mode is turned on
*
* 01 27 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* 1. eliminate improper variable in rHifInfo
* 2. block TX/ordinary OID when RF test mode is engaged
* 3. wait until firmware finish operation when entering into and leaving from RF test mode
* 4. correct some HAL implementation
*
* 01 26 2010 cp.wu
* [WPD00001943]Create WiFi test driver framework on WinXP
* Under WinXP with SDIO, use prGlueInfo->rHifInfo.pvInformationBuffer instead of prGlueInfo->pvInformationBuffer
** \main\maintrunk.MT6620WiFiDriver_Prj\36 2009-12-10 16:54:36 GMT mtk02752
** code clean
** \main\maintrunk.MT6620WiFiDriver_Prj\35 2009-12-09 20:04:59 GMT mtk02752
** only report as connected when CFG_HIF_EMULATION_TEST is set to 1
** \main\maintrunk.MT6620WiFiDriver_Prj\34 2009-12-08 17:39:41 GMT mtk02752
** wlanoidRftestQueryAutoTest could be executed without touching hardware
** \main\maintrunk.MT6620WiFiDriver_Prj\33 2009-12-03 16:10:26 GMT mtk01461
** Add debug message
** \main\maintrunk.MT6620WiFiDriver_Prj\32 2009-12-02 22:05:33 GMT mtk02752
** kalOidComplete() will decrease i4OidPendingCount
** \main\maintrunk.MT6620WiFiDriver_Prj\31 2009-12-01 23:02:36 GMT mtk02752
** remove unnecessary spinlock
** \main\maintrunk.MT6620WiFiDriver_Prj\30 2009-12-01 22:50:38 GMT mtk02752
** use TC4 for command, maintein i4OidPendingCount
** \main\maintrunk.MT6620WiFiDriver_Prj\29 2009-11-27 12:45:34 GMT mtk02752
** prCmdInfo should be freed when invoking wlanReleasePendingOid() to clear pending oid
** \main\maintrunk.MT6620WiFiDriver_Prj\28 2009-11-24 19:55:51 GMT mtk02752
** wlanSendPacket & wlanRetransmitOfPendingFrames is only used in old data path
** \main\maintrunk.MT6620WiFiDriver_Prj\27 2009-11-23 17:59:55 GMT mtk02752
** clear prPendingOID inside wlanSendCommand() when the OID didn't need to be replied.
** \main\maintrunk.MT6620WiFiDriver_Prj\26 2009-11-23 14:45:29 GMT mtk02752
** add another version of wlanSendCommand() for command-sending only without blocking for response
** \main\maintrunk.MT6620WiFiDriver_Prj\25 2009-11-17 22:40:44 GMT mtk01084
** \main\maintrunk.MT6620WiFiDriver_Prj\24 2009-11-11 10:14:56 GMT mtk01084
** modify place to invoke wlanIst
** \main\maintrunk.MT6620WiFiDriver_Prj\23 2009-10-30 18:17:07 GMT mtk01084
** fix compiler warning
** \main\maintrunk.MT6620WiFiDriver_Prj\22 2009-10-29 19:46:15 GMT mtk01084
** invoke interrupt process routine
** \main\maintrunk.MT6620WiFiDriver_Prj\21 2009-10-13 21:58:24 GMT mtk01084
** modify for new HW architecture
** \main\maintrunk.MT6620WiFiDriver_Prj\20 2009-09-09 17:26:01 GMT mtk01084
** \main\maintrunk.MT6620WiFiDriver_Prj\19 2009-05-20 12:21:27 GMT mtk01461
** Add SeqNum check when process Event Packet
** \main\maintrunk.MT6620WiFiDriver_Prj\18 2009-05-19 10:38:44 GMT mtk01461
** Add wlanReleasePendingOid() for mpReset() if there is a pending OID and no available TX resource to send it.
** \main\maintrunk.MT6620WiFiDriver_Prj\17 2009-04-29 15:41:34 GMT mtk01461
** Add handle of EVENT of CMD Result in wlanSendCommand()
** \main\maintrunk.MT6620WiFiDriver_Prj\16 2009-04-22 09:11:23 GMT mtk01461
** Fix wlanSendCommand() for Driver Domain CR
** \main\maintrunk.MT6620WiFiDriver_Prj\15 2009-04-21 09:33:56 GMT mtk01461
** Update wlanSendCommand() for Driver Domain Response and handle Event Packet,
** wlanQuery/SetInformation() for enqueue CMD_INFO_T
** \main\maintrunk.MT6620WiFiDriver_Prj\14 2009-04-17 20:00:08 GMT mtk01461
** Update wlanImageSectionDownload for optimized CMD process
** \main\maintrunk.MT6620WiFiDriver_Prj\13 2009-04-14 20:50:51 GMT mtk01426
** Fixed compile error
** \main\maintrunk.MT6620WiFiDriver_Prj\12 2009-04-13 16:38:40 GMT mtk01084
** add wifi start function
** \main\maintrunk.MT6620WiFiDriver_Prj\11 2009-04-13 14:26:44 GMT mtk01084
** modify a parameter about FW download length
** \main\maintrunk.MT6620WiFiDriver_Prj\10 2009-04-10 21:53:42 GMT mtk01461
** Update wlanSendCommand()
** \main\maintrunk.MT6620WiFiDriver_Prj\9 2009-04-08 16:51:04 GMT mtk01084
** Update for the image download part
** \main\maintrunk.MT6620WiFiDriver_Prj\8 2009-04-01 10:32:47 GMT mtk01461
** Add wlanSendLeftClusteredFrames() for SDIO_TX_ENHANCE
** \main\maintrunk.MT6620WiFiDriver_Prj\7 2009-03-23 21:44:13 GMT mtk01461
** Refine TC assignment for WmmAssoc flag
** \main\maintrunk.MT6620WiFiDriver_Prj\6 2009-03-23 16:51:57 GMT mtk01084
** modify the input argument of caller to RECLAIM_POWER_CONTROL_TO_PM()
** \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-03-23 00:27:13 GMT mtk01461
** Add reference code of FW Image Download
** \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-03-19 18:32:37 GMT mtk01084
** update for basic power management functions
** \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-03-16 09:09:08 GMT mtk01461
** Update TX PATH API
** \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 16:28:45 GMT mtk01426
** Init develop
**
*/
/*******************************************************************************
* C O M P I L E R F L A G S
********************************************************************************
*/
/*******************************************************************************
* E X T E R N A L R E F E R E N C E S
********************************************************************************
*/
#include "precomp.h"
#include "mgmt/ais_fsm.h"
/*******************************************************************************
* C O N S T A N T S
********************************************************************************
*/
/* 6.1.1.2 Interpretation of priority parameter in MAC service primitives */
/* Static convert the Priority Parameter/TID(User Priority/TS Identifier) to Traffic Class */
const UINT_8 aucPriorityParam2TC[] = {
TC1_INDEX,
TC0_INDEX,
TC0_INDEX,
TC1_INDEX,
TC2_INDEX,
TC2_INDEX,
TC3_INDEX,
TC3_INDEX
};
/*******************************************************************************
* D A T A T Y P E S
********************************************************************************
*/
typedef struct _CODE_MAPPING_T {
UINT_32 u4RegisterValue;
INT_32 i4TxpowerOffset;
} CODE_MAPPING_T, *P_CODE_MAPPING_T;
/*******************************************************************************
* P U B L I C D A T A
********************************************************************************
*/
BOOLEAN fgIsBusAccessFailed = FALSE;