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