8723BU: Update 8723BU wifi driver to version v4.3.16_14189.20150519_BTCOEX2015119...
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bu / hal / OUTSRC / PhyDM_Adaptivity.h
1 \r
2 /******************************************************************************\r
3  *\r
4  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.\r
5  *                                        \r
6  * This program is free software; you can redistribute it and/or modify it\r
7  * under the terms of version 2 of the GNU General Public License as\r
8  * published by the Free Software Foundation.\r
9  *\r
10  * This program is distributed in the hope that it will be useful, but WITHOUT\r
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
13  * more details.\r
14  *\r
15  * You should have received a copy of the GNU General Public License along with\r
16  * this program; if not, write to the Free Software Foundation, Inc.,\r
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA\r
18  *\r
19  *\r
20  ******************************************************************************/\r
21  \r
22 #ifndef __PHYDMADAPTIVITY_H__\r
23 #define    __PHYDMADAPTIVITY_H__\r
24 \r
25 #define ADAPTIVITY_VERSION      "8.5.1"\r
26 \r
27 #if (DM_ODM_SUPPORT_TYPE & (ODM_WIN))\r
28 typedef enum _tag_PhyDM_REGULATION_Type {\r
29         REGULATION_FCC = 0,\r
30         REGULATION_MKK = 1,\r
31         REGULATION_ETSI = 2,\r
32         REGULATION_WW = 3,      \r
33         \r
34         MAX_REGULATION_NUM = 4\r
35 } PhyDM_REGULATION_TYPE;\r
36 #endif\r
37 \r
38 \r
39 typedef enum tag_PhyDM_TRx_MUX_Type\r
40 {\r
41         PhyDM_SHUTDOWN                  = 0,\r
42         PhyDM_STANDBY_MODE              = 1,\r
43         PhyDM_TX_MODE                   = 2,\r
44         PhyDM_RX_MODE                   = 3\r
45 }PhyDM_Trx_MUX_Type;\r
46 \r
47 typedef enum tag_PhyDM_MACEDCCA_Type\r
48 {\r
49         PhyDM_IGNORE_EDCCA                      = 0,\r
50         PhyDM_DONT_IGNORE_EDCCA = 1\r
51 }PhyDM_MACEDCCA_Type;\r
52 \r
53 typedef struct _ADAPTIVITY_STATISTICS {\r
54         s1Byte                  TH_L2H_ini_mode2;\r
55         s1Byte                  TH_EDCCA_HL_diff_mode2;\r
56         s1Byte                  TH_EDCCA_HL_diff_backup;\r
57         s1Byte                  IGI_Base;\r
58         u1Byte                  IGI_target;\r
59         u1Byte                  NHMWait;\r
60         s1Byte                  H2L_lb;\r
61         s1Byte                  L2H_lb;\r
62         BOOLEAN                 bFirstLink;\r
63         BOOLEAN                 bCheck;\r
64         BOOLEAN                 DynamicLinkAdaptivity;\r
65         u1Byte                  APNumTH;\r
66 } ADAPTIVITY_STATISTICS, *PADAPTIVITY_STATISTICS;\r
67 \r
68 VOID\r
69 Phydm_CheckAdaptivity(\r
70         IN              PVOID                   pDM_VOID\r
71         );\r
72 \r
73 VOID\r
74 Phydm_CheckEnvironment(\r
75         IN              PVOID                                   pDM_VOID\r
76         );\r
77 \r
78 VOID\r
79 Phydm_NHMCounterStatisticsInit(\r
80         IN              PVOID                                   pDM_VOID\r
81         );\r
82 \r
83 VOID\r
84 Phydm_NHMCounterStatistics(\r
85         IN              PVOID                                   pDM_VOID\r
86         );\r
87 \r
88 VOID\r
89 Phydm_NHMCounterStatisticsReset(\r
90         IN              PVOID                   pDM_VOID\r
91 );\r
92 \r
93 VOID\r
94 Phydm_GetNHMCounterStatistics(\r
95         IN              PVOID                   pDM_VOID\r
96 );\r
97 \r
98 VOID\r
99 Phydm_MACEDCCAState(\r
100         IN      PVOID                                   pDM_VOID,\r
101         IN      PhyDM_MACEDCCA_Type             State\r
102 );\r
103 \r
104 VOID\r
105 Phydm_SetEDCCAThreshold(\r
106         IN              PVOID           pDM_VOID,\r
107         IN              s1Byte          H2L,\r
108         IN              s1Byte          L2H\r
109 );\r
110 \r
111 VOID\r
112 Phydm_SetTRxMux(\r
113         IN              PVOID                   pDM_VOID,\r
114         IN              PhyDM_Trx_MUX_Type                      txMode,\r
115         IN              PhyDM_Trx_MUX_Type                      rxMode\r
116 );      \r
117 \r
118 BOOLEAN\r
119 Phydm_CalNHMcnt(\r
120         IN              PVOID           pDM_VOID\r
121 );\r
122 \r
123 VOID\r
124 Phydm_SearchPwdBLowerBound(\r
125         IN              PVOID                                   pDM_VOID\r
126 );\r
127 \r
128 VOID \r
129 Phydm_AdaptivityInit(\r
130         IN              PVOID                                   pDM_VOID\r
131         );\r
132 \r
133 VOID\r
134 Phydm_Adaptivity(\r
135         IN              PVOID                                   pDM_VOID,\r
136         IN              u1Byte                                  IGI\r
137         );\r
138 \r
139 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
140 VOID\r
141 Phydm_DisableEDCCA(\r
142         IN              PVOID                                   pDM_VOID\r
143 );\r
144 \r
145 VOID\r
146 Phydm_DynamicEDCCA(\r
147         IN              PVOID                                   pDM_VOID\r
148 );\r
149 \r
150 VOID\r
151 Phydm_AdaptivityBSOD(\r
152         IN              PVOID                                   pDM_VOID\r
153 );\r
154 \r
155 #endif\r
156 \r
157 \r
158 #endif\r