add rk3288 pinctrl dts code
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / mt5931 / include / nic / nic.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/nic/nic.h#1 $
3 */
4
5 /*! \file   "nic.h"
6     \brief  The declaration of nic functions
7
8     Detail description.
9 */
10
11
12
13 /*
14 ** $Log: nic.h $
15  *
16  * 11 01 2011 chinglan.wang
17  * NULL
18  * Modify the Wi-Fi method of the flush TX queue when disconnect the AP.
19  * If disconnect the AP and flush all the data frame in the TX queue, WPS cannot do the 4-way handshake to connect to the AP..
20  *
21  * 07 18 2011 chinghwa.yu
22  * [WCXRP00000063] Update BCM CoEx design and settings[WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
23  * Add CMD/Event for RDD and BWCS.
24  *
25  * 05 11 2011 cp.wu
26  * [WCXRP00000718] [MT6620 Wi-Fi] modify the behavior of setting tx power
27  * ACPI APIs migrate to wlan_lib.c for glue layer to invoke.
28  *
29  * 04 11 2011 yuche.tsai
30  * [WCXRP00000627] [Volunteer Patch][MT6620][Driver] Pending MMPUD of P2P Network may crash system issue.
31  * Fix kernel panic issue when MMPDU of P2P is pending in driver.
32  *
33  * 03 02 2011 cp.wu
34  * [WCXRP00000503] [MT6620 Wi-Fi][Driver] Take RCPI brought by association response as initial RSSI right after connection is built.
35  * use RCPI brought by ASSOC-RESP after connection is built as initial RCPI to avoid using a uninitialized MAC-RX RCPI.
36  *
37  * 02 01 2011 cm.chang
38  * [WCXRP00000415] [MT6620 Wi-Fi][Driver] Check if any memory leakage happens when uninitializing in DGB mode
39  * .
40  *
41  * 01 27 2011 tsaiyuan.hsu
42  * [WCXRP00000392] [MT6620 Wi-Fi][Driver] Add Roaming Support
43  * add roaming fsm
44  * 1. not support 11r, only use strength of signal to determine roaming.
45  * 2. not enable CFG_SUPPORT_ROAMING until completion of full test.
46  * 3. in 6620, adopt work-around to avoid sign extension problem of cck of hw
47  * 4. assume that change of link quality in smooth way.
48  *
49  * 10 26 2010 cp.wu
50  * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check[WCXRP00000137] [MT6620 Wi-Fi] [FW] Support NIC capability query command
51  * 1) update NVRAM content template to ver 1.02
52  * 2) add compile option for querying NIC capability (default: off)
53  * 3) modify AIS 5GHz support to run-time option, which could be turned on by registry or NVRAM setting
54  * 4) correct auto-rate compiler error under linux (treat warning as error)
55  * 5) simplify usage of NVRAM and REG_INFO_T
56  * 6) add version checking between driver and firmware
57  *
58  * 10 26 2010 eddie.chen
59  * [WCXRP00000134] [MT6620 Wi-Fi][Driver] Add a registry to enable auto rate for SQA test by using E1 EVB
60  * Add auto rate parameter in registry.
61  *
62  * 10 12 2010 cp.wu
63  * [WCXRP00000084] [MT6620 Wi-Fi][Driver][FW] Add fixed rate support for distance test
64  * add HT (802.11n) fixed rate support.
65  *
66  * 10 08 2010 cp.wu
67  * [WCXRP00000084] [MT6620 Wi-Fi][Driver][FW] Add fixed rate support for distance test
68  * adding fixed rate support for distance test. (from registry setting)
69  *
70  * 10 05 2010 cp.wu
71  * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
72  * 1) add NVRAM access API
73  * 2) fake scanning result when NVRAM doesn't exist and/or version mismatch. (off by compiler option)
74  * 3) add OID implementation for NVRAM read/write service
75  *
76  * 10 04 2010 cp.wu
77  * [WCXRP00000077] [MT6620 Wi-Fi][Driver][FW] Eliminate use of ENUM_NETWORK_TYPE_T and replaced by ENUM_NETWORK_TYPE_INDEX_T only
78  * remove ENUM_NETWORK_TYPE_T definitions
79  *
80  * 09 21 2010 cp.wu
81  * [WCXRP00000053] [MT6620 Wi-Fi][Driver] Reset incomplete and might leads to BSOD when entering RF test with AIS associated
82  * Do a complete reset with STA-REC null checking for RF test re-entry
83  *
84  * 09 08 2010 cp.wu
85  * NULL
86  * use static memory pool for storing IEs of scanning result.
87  *
88  * 09 01 2010 cp.wu
89  * NULL
90  * HIFSYS Clock Source Workaround
91  *
92  * 08 25 2010 george.huang
93  * NULL
94  * update OID/ registry control path for PM related settings
95  *
96  * 08 12 2010 cp.wu
97  * NULL
98  * [AIS-FSM] honor registry setting for adhoc running mode. (A/B/G)
99  *
100  * 08 03 2010 cp.wu
101  * NULL
102  * Centralize mgmt/system service procedures into independent calls.
103  *
104  * 07 28 2010 cp.wu
105  * NULL
106  * 1) eliminate redundant variable eOPMode in prAdapter->rWlanInfo
107  * 2) change nicMediaStateChange() API prototype
108  *
109  * 07 14 2010 yarco.yang
110  *
111  * 1. Remove CFG_MQM_MIGRATION
112  * 2. Add CMD_UPDATE_WMM_PARMS command
113  *
114  * 07 08 2010 cp.wu
115  *
116  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
117  *
118  * 07 06 2010 george.huang
119  * [WPD00001556]Basic power managemenet function
120  * Update arguments for nicUpdateBeaconIETemplate()
121  *
122  * 07 06 2010 cp.wu
123  * [WPD00003833][MT6620 and MT5931] Driver migration
124  * STA-REC is maintained by CNM only.
125  *
126  * 07 05 2010 cp.wu
127  * [WPD00003833][MT6620 and MT5931] Driver migration
128  * 1) ignore RSN checking when RSN is not turned on.
129  * 2) set STA-REC deactivation callback as NULL
130  * 3) add variable initialization API based on PHY configuration
131  *
132  * 06 30 2010 cp.wu
133  * [WPD00003833][MT6620 and MT5931] Driver migration
134  * sync. with CMD/EVENT document ver0.07.
135  *
136  * 06 29 2010 cp.wu
137  * [WPD00003833][MT6620 and MT5931] Driver migration
138  * 1) sync to. CMD/EVENT document v0.03
139  * 2) simplify DTIM period parsing in scan.c only, bss.c no longer parses it again.
140  * 3) send command packet to indicate FW-PM after
141  *     a) 1st beacon is received after AIS has connected to an AP
142  *     b) IBSS-ALONE has been created
143  *     c) IBSS-MERGE has occured
144  *
145  * 06 25 2010 george.huang
146  * [WPD00001556]Basic power managemenet function
147  * Create beacon update path, with expose bssUpdateBeaconContent()
148  *
149  * 06 22 2010 cp.wu
150  * [WPD00003833][MT6620 and MT5931] Driver migration
151  * 1) add command warpper for STA-REC/BSS-INFO sync.
152  * 2) enhance command packet sending procedure for non-oid part
153  * 3) add command packet definitions for STA-REC/BSS-INFO sync.
154  *
155  * 06 21 2010 cp.wu
156  * [WPD00003833][MT6620 and MT5931] Driver migration
157  * implement TX_DONE callback path.
158  *
159  * 06 11 2010 cp.wu
160  * [WPD00003833][MT6620 and MT5931] Driver migration
161  * 1) migrate assoc.c.
162  * 2) add ucTxSeqNum for tracking frames which needs TX-DONE awareness
163  * 3) add configuration options for CNM_MEM and RSN modules
164  * 4) add data path for management frames
165  * 5) eliminate rPacketInfo of MSDU_INFO_T
166  *
167  * 06 10 2010 cp.wu
168  * [WPD00003833][MT6620 and MT5931] Driver migration
169  * 1) eliminate CFG_CMD_EVENT_VERSION_0_9
170  * 2) when disconnected, indicate nic directly (no event is needed)
171  *
172  * 06 06 2010 kevin.huang
173  * [WPD00003832][MT6620 5931] Create driver base
174  * [MT6620 5931] Create driver base
175  *
176  * 04 26 2010 cp.wu
177  * [WPD00001943]Create WiFi test driver framework on WinXP
178  * 1) surpress compiler warning
179  * 2) when acqruing LP-own, keep writing WHLPCR whenever OWN is not acquired yet
180  *
181  * 04 13 2010 cp.wu
182  * [WPD00003823][MT6620 Wi-Fi] Add Bluetooth-over-Wi-Fi support
183  * add framework for BT-over-Wi-Fi support.
184  *  *  *  *  *  *  *  *  * 1) prPendingCmdInfo is replaced by queue for multiple handler capability
185  *  *  *  *  *  *  *  *  * 2) command sequence number is now increased atomically
186  *  *  *  *  *  *  *  *  * 3) private data could be hold and taken use for other purpose
187  *
188  * 04 12 2010 cp.wu
189  * [WPD00001943]Create WiFi test driver framework on WinXP
190  * add channel frequency <-> number conversion
191  *
192  * 03 19 2010 cp.wu
193  * [WPD00001943]Create WiFi test driver framework on WinXP
194  * 1) add ACPI D0/D3 state switching support
195  *  *  *  *  * 2) use more formal way to handle interrupt when the status is retrieved from enhanced RX response
196  *
197  * 03 17 2010 cp.wu
198  * [WPD00001943]Create WiFi test driver framework on WinXP
199  * always process TX interrupt first then RX interrupt.
200  *
201  * 02 25 2010 cp.wu
202  * [WPD00001943]Create WiFi test driver framework on WinXP
203  * correct behavior to prevent duplicated RX handling for RX0_DONE and RX1_DONE
204  *
205  * 02 23 2010 cp.wu
206  * [WPD00001943]Create WiFi test driver framework on WinXP
207  * add checksum offloading support.
208 **  \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-10-13 21:58:58 GMT mtk01084
209 **  update for new HW architecture design
210 **  \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-04-24 21:12:55 GMT mtk01104
211 **  Add function prototype nicRestoreSpiDefMode()
212 **  \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-03-19 18:32:54 GMT mtk01084
213 **  update for basic power management functions
214 **  \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:16:32 GMT mtk01426
215 **  Init for develop
216 **
217 */
218
219 #ifndef _NIC_H
220 #define _NIC_H
221
222 /*******************************************************************************
223 *                         C O M P I L E R   F L A G S
224 ********************************************************************************
225 */
226
227 /*******************************************************************************
228 *                              C O N S T A N T S
229 ********************************************************************************
230 */
231
232 /*******************************************************************************
233 *                             D A T A   T Y P E S
234 ********************************************************************************
235 */
236
237
238 struct _REG_ENTRY_T {
239     UINT_32      u4Offset;
240     UINT_32      u4Value;
241 };
242
243 struct _TABLE_ENTRY_T {
244     P_REG_ENTRY_T     pu4TablePtr;
245     UINT_16      u2Size;
246 };
247
248 /*! INT status to event map */
249 typedef struct _INT_EVENT_MAP_T {
250     UINT_32     u4Int;
251     UINT_32     u4Event;
252 } INT_EVENT_MAP_T, *P_INT_EVENT_MAP_T;
253
254
255 enum ENUM_INT_EVENT_T {
256     INT_EVENT_ABNORMAL,
257     INT_EVENT_SW_INT,
258     INT_EVENT_TX,
259     INT_EVENT_RX,
260     INT_EVENT_NUM
261 };
262
263 typedef enum _ENUM_IE_UPD_METHOD_T {
264     IE_UPD_METHOD_UPDATE_RANDOM,
265     IE_UPD_METHOD_UPDATE_ALL,
266     IE_UPD_METHOD_DELETE_ALL,
267 } ENUM_IE_UPD_METHOD_T, *P_ENUM_IE_UPD_METHOD_T;
268
269
270 /*******************************************************************************
271 *                    E X T E R N A L   R E F E R E N C E S
272 ********************************************************************************
273 */
274
275 /*******************************************************************************
276 *                            P U B L I C   D A T A
277 ********************************************************************************
278 */
279
280 /*******************************************************************************
281 *                           P R I V A T E   D A T A
282 ********************************************************************************
283 */
284
285 /*******************************************************************************
286 *                                 M A C R O S
287 ********************************************************************************
288 */
289
290
291 /*******************************************************************************
292 *                   F U N C T I O N   D E C L A R A T I O N S
293 ********************************************************************************
294 */
295 /*----------------------------------------------------------------------------*/
296 /* Routines in nic.c                                                          */
297 /*----------------------------------------------------------------------------*/
298 WLAN_STATUS
299 nicAllocateAdapterMemory (
300     IN P_ADAPTER_T prAdapter
301     );
302
303 VOID
304 nicReleaseAdapterMemory (
305     IN P_ADAPTER_T prAdapter
306     );
307
308 VOID
309 nicDisableInterrupt (
310     IN P_ADAPTER_T prAdapter
311     );
312
313 VOID
314 nicEnableInterrupt (
315     IN P_ADAPTER_T prAdapter
316     );
317
318 WLAN_STATUS
319 nicProcessIST (
320     IN P_ADAPTER_T prAdapter
321     );
322
323 WLAN_STATUS
324 nicProcessIST_impl (
325     IN P_ADAPTER_T prAdapter,
326     IN UINT_32 u4IntStatus
327     );
328
329 WLAN_STATUS
330 nicInitializeAdapter (
331     IN P_ADAPTER_T prAdapter
332     );
333
334 VOID
335 nicMCRInit (
336     IN P_ADAPTER_T prAdapter
337     );
338
339 BOOL
340 nicVerifyChipID (
341     IN P_ADAPTER_T prAdapter
342     );
343
344
345 #if CFG_SDIO_INTR_ENHANCE
346 VOID
347 nicSDIOInit (
348     IN P_ADAPTER_T prAdapter
349     );
350
351 VOID
352 nicSDIOReadIntStatus (
353     IN P_ADAPTER_T prAdapter,
354     OUT PUINT_32   pu4IntStatus
355     );
356 #endif
357
358 BOOLEAN
359 nicpmSetDriverOwn (
360     IN P_ADAPTER_T prAdapter
361     );
362
363 VOID
364 nicpmSetFWOwn (
365     IN P_ADAPTER_T prAdapter,
366     IN BOOLEAN     fgEnableGlobalInt
367     );
368
369 BOOLEAN
370 nicpmSetAcpiPowerD0 (
371     IN P_ADAPTER_T prAdapter
372     );
373
374 BOOLEAN
375 nicpmSetAcpiPowerD3 (
376     IN P_ADAPTER_T prAdapter
377     );
378
379 #if defined(_HIF_SPI)
380 void
381 nicRestoreSpiDefMode(
382     IN P_ADAPTER_T prAdapter
383     );
384 #endif
385
386 VOID
387 nicProcessSoftwareInterrupt(
388     IN P_ADAPTER_T prAdapter
389     );
390
391 VOID
392 nicProcessAbnormalInterrupt (
393     IN  P_ADAPTER_T prAdapter
394     );
395
396 VOID
397 nicPutMailbox (
398     IN P_ADAPTER_T prAdapter,
399     IN UINT_32 u4MailboxNum,
400     IN UINT_32 u4Data);
401
402 VOID
403 nicGetMailbox (
404     IN P_ADAPTER_T prAdapter,
405     IN UINT_32 u4MailboxNum,
406     OUT PUINT_32 pu4Data);
407
408 VOID
409 nicSetSwIntr (
410     IN P_ADAPTER_T prAdapter,
411     IN UINT_32 u4SwIntrBitmap
412     );
413
414 P_CMD_INFO_T
415 nicGetPendingCmdInfo (
416     IN P_ADAPTER_T prAdapter,
417     IN UINT_8 ucSeqNum
418     );
419
420 P_MSDU_INFO_T
421 nicGetPendingTxMsduInfo (
422     IN P_ADAPTER_T prAdapter,
423     IN UINT_8 ucSeqNum
424     );
425
426 P_MSDU_INFO_T
427 nicGetPendingStaMMPDU(
428     IN P_ADAPTER_T prAdapter,
429     IN UINT_8 ucStaRecIdx
430     );
431
432 VOID
433 nicFreePendingTxMsduInfoByNetwork (
434     IN P_ADAPTER_T                  prAdapter,
435     IN ENUM_NETWORK_TYPE_INDEX_T    eNetworkType
436     );
437
438 UINT_8
439 nicIncreaseCmdSeqNum (
440     IN P_ADAPTER_T prAdapter
441     );
442
443 UINT_8
444 nicIncreaseTxSeqNum (
445     IN P_ADAPTER_T prAdapter
446     );
447
448 /* Media State Change */
449 WLAN_STATUS
450 nicMediaStateChange (
451     IN P_ADAPTER_T                  prAdapter,
452     IN ENUM_NETWORK_TYPE_INDEX_T    eNetworkType,
453     IN P_EVENT_CONNECTION_STATUS    prConnectionStatus
454     );
455
456 /* Utility function for channel number conversion */
457 UINT_32
458 nicChannelNum2Freq (
459     IN UINT_32 u4ChannelNum
460     );
461
462 UINT_32
463 nicFreq2ChannelNum (
464     IN UINT_32 u4FreqInKHz
465     );
466
467 /* firmware command wrapper */
468     /* NETWORK (WIFISYS) */
469 WLAN_STATUS
470 nicActivateNetwork(
471     IN P_ADAPTER_T prAdapter,
472     IN ENUM_NETWORK_TYPE_INDEX_T eNetworkTypeIdx
473     );
474
475 WLAN_STATUS
476 nicDeactivateNetwork(
477     IN P_ADAPTER_T prAdapter,
478     IN ENUM_NETWORK_TYPE_INDEX_T eNetworkTypeIdx
479     );
480
481
482     /* BSS-INFO */
483 WLAN_STATUS
484 nicUpdateBss(
485     IN P_ADAPTER_T prAdapter,
486     IN ENUM_NETWORK_TYPE_INDEX_T eNetworkTypeIdx
487     );
488
489     /* BSS-INFO Indication (PM) */
490 WLAN_STATUS
491 nicPmIndicateBssCreated(
492     IN P_ADAPTER_T prAdapter,
493     IN ENUM_NETWORK_TYPE_INDEX_T eNetworkTypeIdx
494     );
495
496 WLAN_STATUS
497 nicPmIndicateBssConnected(
498     IN P_ADAPTER_T prAdapter,
499     IN ENUM_NETWORK_TYPE_INDEX_T eNetworkTypeIdx
500     );
501
502 WLAN_STATUS
503 nicPmIndicateBssAbort(
504     IN P_ADAPTER_T prAdapter,
505     IN ENUM_NETWORK_TYPE_INDEX_T eNetworkTypeIdx
506     );
507
508     /* Beacon Template Update */
509 WLAN_STATUS
510 nicUpdateBeaconIETemplate (
511     IN  P_ADAPTER_T prAdapter,
512     IN  ENUM_IE_UPD_METHOD_T eIeUpdMethod,
513     IN ENUM_NETWORK_TYPE_INDEX_T eNetTypeIndex,
514     IN UINT_16 u2Capability,
515     IN PUINT_8 aucIe,
516     IN UINT_16 u2IELen
517     );
518
519 WLAN_STATUS
520 nicQmUpdateWmmParms(
521     IN P_ADAPTER_T prAdapter,
522     IN ENUM_NETWORK_TYPE_INDEX_T eNetworkTypeIdx
523     );
524
525 WLAN_STATUS
526 nicSetAutoTxPower(
527     IN P_ADAPTER_T      prAdapter,
528     IN P_CMD_AUTO_POWER_PARAM_T   prAutoPwrParam
529     );
530
531 /*----------------------------------------------------------------------------*/
532 /* Calibration Control                                                        */
533 /*----------------------------------------------------------------------------*/
534 WLAN_STATUS
535 nicUpdateTxPower(
536     IN P_ADAPTER_T      prAdapter,
537     IN P_CMD_TX_PWR_T   prTxPwrParam
538     );
539
540 WLAN_STATUS
541 nicUpdate5GOffset(
542     IN P_ADAPTER_T              prAdapter,
543     IN P_CMD_5G_PWR_OFFSET_T    pr5GPwrOffset
544     );
545
546 WLAN_STATUS
547 nicUpdateDPD(
548     IN P_ADAPTER_T          prAdapter,
549     IN P_CMD_PWR_PARAM_T    prDpdCalResult
550     );
551
552
553 /*----------------------------------------------------------------------------*/
554 /* PHY configuration                                                          */
555 /*----------------------------------------------------------------------------*/
556 VOID
557 nicSetAvailablePhyTypeSet (
558     IN P_ADAPTER_T prAdapter
559     );
560
561 /*----------------------------------------------------------------------------*/
562 /* MGMT and System Service Control                                            */
563 /*----------------------------------------------------------------------------*/
564 VOID
565 nicInitSystemService (
566     IN P_ADAPTER_T prAdapter
567     );
568
569 VOID
570 nicResetSystemService (
571     IN P_ADAPTER_T prAdapter
572     );
573
574 VOID
575 nicUninitSystemService (
576     IN P_ADAPTER_T prAdapter
577     );
578
579 VOID
580 nicInitMGMT (
581     IN P_ADAPTER_T prAdapter,
582     IN P_REG_INFO_T prRegInfo
583     );
584
585 VOID
586 nicUninitMGMT (
587     IN P_ADAPTER_T prAdapter
588     );
589
590 WLAN_STATUS
591 nicConfigPowerSaveProfile (
592     IN  P_ADAPTER_T prAdapter,
593     ENUM_NETWORK_TYPE_INDEX_T eNetTypeIndex,
594     PARAM_POWER_MODE ePwrMode,
595     BOOLEAN fgEnCmdEvent
596     );
597
598 /*----------------------------------------------------------------------------*/
599 /* Scan Result Processing                                                     */
600 /*----------------------------------------------------------------------------*/
601 VOID
602 nicAddScanResult (
603     IN P_ADAPTER_T                  prAdapter,
604     IN PARAM_MAC_ADDRESS            rMacAddr,
605     IN P_PARAM_SSID_T               prSsid,
606     IN UINT_32                      u4Privacy,
607     IN PARAM_RSSI                   rRssi,
608     IN ENUM_PARAM_NETWORK_TYPE_T    eNetworkType,
609     IN P_PARAM_802_11_CONFIG_T      prConfiguration,
610     IN ENUM_PARAM_OP_MODE_T         eOpMode,
611     IN PARAM_RATES_EX               rSupportedRates,
612     IN UINT_16                      u2IELength,
613     IN PUINT_8                      pucIEBuf
614     );
615
616 VOID
617 nicFreeScanResultIE (
618     IN P_ADAPTER_T  prAdapter,
619     IN UINT_32      u4Idx
620     );
621
622 #if (MT6620_E1_ASIC_HIFSYS_WORKAROUND == 1)
623 /*----------------------------------------------------------------------------*/
624 /* Workaround Control                                                         */
625 /*----------------------------------------------------------------------------*/
626 WLAN_STATUS
627 nicEnableClockGating (
628     IN P_ADAPTER_T prAdapter
629     );
630
631 WLAN_STATUS
632 nicDisableClockGating (
633     IN P_ADAPTER_T prAdapter
634     );
635 #endif
636
637
638 /*----------------------------------------------------------------------------*/
639 /* Fixed Rate Hacking                                                         */
640 /*----------------------------------------------------------------------------*/
641 WLAN_STATUS
642 nicUpdateRateParams (
643     IN P_ADAPTER_T                  prAdapter,
644     IN ENUM_REGISTRY_FIXED_RATE_T   eRateSetting,
645     IN PUINT_8                      pucDesiredPhyTypeSet,
646     IN PUINT_16                     pu2DesiredNonHTRateSet,
647     IN PUINT_16                     pu2BSSBasicRateSet,
648     IN PUINT_8                      pucMcsSet,
649     IN PUINT_8                      pucSupMcs32,
650     IN PUINT_16                     u2HtCapInfo
651     );
652
653 /*----------------------------------------------------------------------------*/
654 /* Write registers                                                            */
655 /*----------------------------------------------------------------------------*/
656 WLAN_STATUS
657 nicWriteMcr (
658     IN P_ADAPTER_T  prAdapter,
659     IN UINT_32   u4Address,
660     IN  UINT_32  u4Value
661     );
662
663 /*----------------------------------------------------------------------------*/
664 /* Update auto rate                                                           */
665 /*----------------------------------------------------------------------------*/
666 WLAN_STATUS
667 nicRlmArUpdateParms(
668     IN P_ADAPTER_T prAdapter,
669     IN UINT_32 u4ArSysParam0,
670     IN UINT_32 u4ArSysParam1,
671     IN UINT_32 u4ArSysParam2,
672     IN UINT_32 u4ArSysParam3
673     );
674
675 /*----------------------------------------------------------------------------*/
676 /* Enable/Disable Roaming                                                     */
677 /*----------------------------------------------------------------------------*/
678 WLAN_STATUS
679 nicRoamingUpdateParams(
680     IN P_ADAPTER_T prAdapter,
681     IN UINT_32 u4EnableRoaming
682     );
683
684
685 VOID
686 nicPrintFirmwareAssertInfo(
687     IN P_ADAPTER_T prAdapter
688     );
689
690 /*----------------------------------------------------------------------------*/
691 /* Link Quality Updating                                                      */
692 /*----------------------------------------------------------------------------*/
693 VOID
694 nicUpdateLinkQuality(
695     IN P_ADAPTER_T                  prAdapter,
696     IN ENUM_NETWORK_TYPE_INDEX_T    eNetTypeIdx,
697     IN P_EVENT_LINK_QUALITY         prEventLinkQuality
698     );
699
700 VOID
701 nicUpdateRSSI(
702     IN P_ADAPTER_T                  prAdapter,
703     IN ENUM_NETWORK_TYPE_INDEX_T    eNetTypeIdx,
704     IN INT_8                        cRssi,
705     IN INT_8                        cLinkQuality
706     );
707
708 VOID
709 nicUpdateLinkSpeed(
710     IN P_ADAPTER_T                  prAdapter,
711     IN ENUM_NETWORK_TYPE_INDEX_T    eNetTypeIdx,
712     IN UINT_16                      u2LinkSpeed
713     );
714
715 #if CFG_SUPPORT_RDD_TEST_MODE
716 WLAN_STATUS
717 nicUpdateRddTestMode(
718     IN P_ADAPTER_T      prAdapter,
719     IN P_CMD_RDD_CH_T   prRddChParam
720     );
721 #endif
722
723 #endif /* _NIC_H */
724