net: wireless: rockchip_wlan: add rtl8723cs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723cs / hal / phydm / txbf / haltxbfinterface.h
1 #ifndef __HAL_TXBF_INTERFACE_H__
2 #define __HAL_TXBF_INTERFACE_H__
3
4 #if (BEAMFORMING_SUPPORT == 1)
5 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
6
7 #define a_SifsTime                                      ((IS_WIRELESS_MODE_5G(adapter)|| IS_WIRELESS_MODE_N_24G(adapter))? 16 : 10)
8
9 void
10 beamforming_gid_paid(
11         struct _ADAPTER *adapter,
12         PRT_TCB         p_tcb
13 );
14
15 enum rt_status
16 beamforming_get_report_frame(
17         struct _ADAPTER         *adapter,
18         PRT_RFD                 p_rfd,
19         POCTET_STRING   p_pdu_os
20 );
21
22 void
23 beamforming_get_ndpa_frame(
24         void                    *p_dm_void,
25         OCTET_STRING    pdu_os
26 );
27
28 boolean
29 send_fw_ht_ndpa_packet(
30         void                    *p_dm_void,
31         u8                      *RA,
32         CHANNEL_WIDTH   BW
33 );
34
35 boolean
36 send_fw_vht_ndpa_packet(
37         void                    *p_dm_void,
38         u8                      *RA,
39         u16                     AID,
40         CHANNEL_WIDTH   BW
41 );
42
43 boolean
44 send_sw_vht_ndpa_packet(
45         void                    *p_dm_void,
46         u8                      *RA,
47         u16                     AID,
48         CHANNEL_WIDTH   BW
49 );
50
51 boolean
52 send_sw_ht_ndpa_packet(
53         void                    *p_dm_void,
54         u8                      *RA,
55         CHANNEL_WIDTH   BW
56 );
57
58 #if (SUPPORT_MU_BF == 1)
59 enum rt_status
60 beamforming_get_vht_gid_mgnt_frame(
61         struct _ADAPTER         *adapter,
62         PRT_RFD                 p_rfd,
63         POCTET_STRING   p_pdu_os
64 );
65
66 boolean
67 send_sw_vht_gid_mgnt_frame(
68         void                    *p_dm_void,
69         u8                      *RA,
70         u8                      idx
71 );
72
73 boolean
74 send_sw_vht_bf_report_poll(
75         void                    *p_dm_void,
76         u8                      *RA,
77         boolean                 is_final_poll
78 );
79
80 boolean
81 send_sw_vht_mu_ndpa_packet(
82         void                    *p_dm_void,
83         CHANNEL_WIDTH   BW
84 );
85 #else
86 #define beamforming_get_vht_gid_mgnt_frame(adapter, p_rfd, p_pdu_os) RT_STATUS_FAILURE
87 #define send_sw_vht_gid_mgnt_frame(p_dm_void, RA)
88 #define send_sw_vht_bf_report_poll(p_dm_void, RA, is_final_poll)
89 #define send_sw_vht_mu_ndpa_packet(p_dm_void, BW)
90 #endif
91
92
93 #elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
94
95 u32
96 beamforming_get_report_frame(
97         void                    *p_dm_void,
98         union recv_frame *precv_frame
99 );
100
101 boolean
102 send_fw_ht_ndpa_packet(
103         void                    *p_dm_void,
104         u8                      *RA,
105         CHANNEL_WIDTH   BW
106 );
107
108 boolean
109 send_sw_ht_ndpa_packet(
110         void                    *p_dm_void,
111         u8                      *RA,
112         CHANNEL_WIDTH   BW
113 );
114
115 boolean
116 send_fw_vht_ndpa_packet(
117         void                    *p_dm_void,
118         u8                      *RA,
119         u16                     AID,
120         CHANNEL_WIDTH   BW
121 );
122
123 boolean
124 send_sw_vht_ndpa_packet(
125         void                    *p_dm_void,
126         u8                      *RA,
127         u16                     AID,
128         CHANNEL_WIDTH   BW
129 );
130 #endif
131
132 void
133 beamforming_get_ndpa_frame(
134         void                    *p_dm_void,
135 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
136         OCTET_STRING    pdu_os
137 #elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
138         union recv_frame *precv_frame
139 #endif
140 );
141
142 boolean
143 dbg_send_sw_vht_mundpa_packet(
144         void                    *p_dm_void,
145         CHANNEL_WIDTH   BW
146 );
147
148 #else
149 #define beamforming_get_ndpa_frame(p_dm_odm, _pdu_os)
150 #if (DM_ODM_SUPPORT_TYPE == ODM_CE)
151         #define beamforming_get_report_frame(adapter, precv_frame)              RT_STATUS_FAILURE
152 #elif (DM_ODM_SUPPORT_TYPE == ODM_WIN)
153         #define beamforming_get_report_frame(adapter, p_rfd, p_pdu_os)          RT_STATUS_FAILURE
154         #define beamforming_get_vht_gid_mgnt_frame(adapter, p_rfd, p_pdu_os) RT_STATUS_FAILURE
155 #endif
156 #define send_fw_ht_ndpa_packet(p_dm_void, RA, BW)
157 #define send_sw_ht_ndpa_packet(p_dm_void, RA, BW)
158 #define send_fw_vht_ndpa_packet(p_dm_void, RA, AID, BW)
159 #define send_sw_vht_ndpa_packet(p_dm_void, RA,  AID, BW)
160 #define send_sw_vht_gid_mgnt_frame(p_dm_void, RA, idx)
161 #define send_sw_vht_bf_report_poll(p_dm_void, RA, is_final_poll)
162 #define send_sw_vht_mu_ndpa_packet(p_dm_void, BW)
163 #endif
164
165 #endif