net: wireless: rockchip_wlan: add rtl8723bs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bs / hal / phydm / txbf / halcomtxbf.h
1 #ifndef __HAL_COM_TXBF_H__\r
2 #define __HAL_COM_TXBF_H__\r
3 \r
4 /*\r
5 typedef BOOLEAN\r
6 (*TXBF_GET)(\r
7         IN      PVOID                   pAdapter,\r
8         IN      u1Byte                  getType,\r
9         OUT     PVOID                   pOutBuf\r
10         );\r
11 \r
12 typedef BOOLEAN\r
13 (*TXBF_SET)(\r
14         IN      PVOID                   pAdapter,\r
15         IN      u1Byte                  setType,\r
16         OUT     PVOID                   pInBuf\r
17         );\r
18 */\r
19 #define TxBF_Nr(a, b) ((a > b) ? (b) : (a))\r
20 \r
21 typedef enum _TXBF_SET_TYPE{\r
22         TXBF_SET_SOUNDING_ENTER,\r
23         TXBF_SET_SOUNDING_LEAVE,\r
24         TXBF_SET_SOUNDING_RATE,\r
25         TXBF_SET_SOUNDING_STATUS,\r
26         TXBF_SET_SOUNDING_FW_NDPA,\r
27         TXBF_SET_SOUNDING_CLK,\r
28         TXBF_SET_TX_PATH_RESET,\r
29         TXBF_SET_GET_TX_RATE\r
30 }TXBF_SET_TYPE,*PTXBF_SET_TYPE;\r
31 \r
32 \r
33 typedef enum _TXBF_GET_TYPE{\r
34         TXBF_GET_EXPLICIT_BEAMFORMEE,\r
35         TXBF_GET_EXPLICIT_BEAMFORMER,\r
36         TXBF_GET_MU_MIMO_STA,\r
37         TXBF_GET_MU_MIMO_AP\r
38 }TXBF_GET_TYPE,*PTXBF_GET_TYPE;\r
39 \r
40 \r
41 \r
42 //2 HAL TXBF related\r
43 typedef struct _HAL_TXBF_INFO {\r
44         u1Byte                          TXBFIdx;\r
45         u1Byte                          NdpaIdx;\r
46         u1Byte                          BW;\r
47         u1Byte                          Rate;\r
48 \r
49         RT_TIMER                        Txbf_FwNdpaTimer;\r
50 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)    \r
51         RT_WORK_ITEM            Txbf_EnterWorkItem;  \r
52         RT_WORK_ITEM            Txbf_LeaveWorkItem;\r
53         RT_WORK_ITEM            Txbf_FwNdpaWorkItem;\r
54         RT_WORK_ITEM            Txbf_ClkWorkItem;\r
55         RT_WORK_ITEM            Txbf_StatusWorkItem;\r
56         RT_WORK_ITEM            Txbf_RateWorkItem;\r
57         RT_WORK_ITEM            Txbf_ResetTxPathWorkItem;\r
58         RT_WORK_ITEM            Txbf_GetTxRateWorkItem;\r
59 #endif\r
60 \r
61 } HAL_TXBF_INFO, *PHAL_TXBF_INFO;\r
62 \r
63 #if (BEAMFORMING_SUPPORT == 1)\r
64 \r
65 VOID\r
66 halComTxbf_beamformInit(\r
67         IN PVOID                        pDM_VOID\r
68         );\r
69 \r
70 VOID\r
71 halComTxbf_ConfigGtab(\r
72         IN PVOID                        pDM_VOID\r
73         );\r
74 \r
75 VOID \r
76 halComTxbf_EnterWorkItemCallback(\r
77 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
78         IN      PADAPTER                Adapter\r
79 #else\r
80         IN PVOID                        pDM_VOID\r
81 #endif\r
82         );\r
83 \r
84 VOID \r
85 halComTxbf_LeaveWorkItemCallback(\r
86 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
87         IN      PADAPTER                Adapter\r
88 #else\r
89         IN PVOID                        pDM_VOID\r
90 #endif\r
91         );\r
92 \r
93 VOID \r
94 halComTxbf_FwNdpaWorkItemCallback(\r
95 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
96         IN      PADAPTER                Adapter\r
97 #else\r
98         IN PVOID                        pDM_VOID\r
99 #endif\r
100         );\r
101 \r
102 VOID\r
103 halComTxbf_ClkWorkItemCallback(\r
104 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
105         IN      PADAPTER                Adapter\r
106 #else\r
107         IN PVOID                        pDM_VOID\r
108 #endif\r
109         );\r
110 \r
111 VOID\r
112 halComTxbf_ResetTxPathWorkItemCallback(\r
113 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
114         IN      PADAPTER                Adapter\r
115 #else\r
116         IN PVOID                        pDM_VOID\r
117 #endif\r
118         );\r
119 \r
120 VOID\r
121 halComTxbf_GetTxRateWorkItemCallback(\r
122 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
123         IN      PADAPTER                Adapter\r
124 #else\r
125         IN PVOID                        pDM_VOID\r
126 #endif\r
127         );\r
128 \r
129 VOID\r
130 halComTxbf_RateWorkItemCallback(        \r
131 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
132         IN      PADAPTER                Adapter\r
133 #else\r
134         IN PVOID                        pDM_VOID\r
135 #endif\r
136         );\r
137 \r
138 VOID \r
139 halComTxbf_FwNdpaTimerCallback(\r
140         IN      PRT_TIMER               pTimer\r
141         );\r
142 \r
143 VOID\r
144 halComTxbf_StatusWorkItemCallback(\r
145 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
146         IN      PADAPTER                Adapter\r
147 #else\r
148         IN PVOID                        pDM_VOID\r
149 #endif\r
150         );\r
151 \r
152 BOOLEAN\r
153 HalComTxbf_Set(\r
154         IN PVOID                        pDM_VOID,\r
155         IN      u1Byte                  setType,\r
156         IN      PVOID                   pInBuf\r
157         );\r
158 \r
159 BOOLEAN\r
160 HalComTxbf_Get(\r
161         IN      PADAPTER                Adapter,\r
162         IN      u1Byte                  getType,\r
163         OUT     PVOID                   pOutBuf\r
164         );\r
165 \r
166 #else\r
167 #define halComTxbf_beamformInit(pDM_VOID)                                       NULL\r
168 #define halComTxbf_ConfigGtab(pDM_VOID)                         NULL\r
169 #define halComTxbf_EnterWorkItemCallback(_Adapter)              NULL\r
170 #define halComTxbf_LeaveWorkItemCallback(_Adapter)              NULL\r
171 #define halComTxbf_FwNdpaWorkItemCallback(_Adapter)             NULL\r
172 #define halComTxbf_ClkWorkItemCallback(_Adapter)                        NULL\r
173 #define halComTxbf_RateWorkItemCallback(_Adapter)               NULL\r
174 #define halComTxbf_FwNdpaTimerCallback(_Adapter)                NULL\r
175 #define halComTxbf_StatusWorkItemCallback(_Adapter)             NULL\r
176 #define HalComTxbf_Get(_Adapter, _getType, _pOutBuf)\r
177 \r
178 #endif\r
179                                                         \r
180 #endif  // #ifndef __HAL_COM_TXBF_H__                                                           \r
181 \r