forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.h
....@@ -1,27 +1,5 @@
1
-/******************************************************************************
2
- *
3
- * Copyright(c) 2009-2012 Realtek Corporation. All rights reserved.
4
- *
5
- * This program is free software; you can redistribute it and/or modify it
6
- * under the terms of version 2 of the GNU General Public License as
7
- * published by the Free Software Foundation.
8
- *
9
- * This program is distributed in the hope that it will be useful, but WITHOUT
10
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
- * more details.
13
- *
14
- * The full GNU General Public License is included in this distribution in the
15
- * file called LICENSE.
16
- *
17
- * Contact Information:
18
- * wlanfae <wlanfae@realtek.com>
19
- * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20
- * Hsinchu 300, Taiwan.
21
- *
22
- * Larry Finger <Larry.Finger@lwfinger.net>
23
- *
24
- *****************************************************************************/
1
+/* SPDX-License-Identifier: GPL-2.0 */
2
+/* Copyright(c) 2009-2012 Realtek Corporation.*/
253
264 #ifndef __RTL92CU_TRX_H__
275 #define __RTL92CU_TRX_H__
....@@ -95,287 +73,306 @@
9573 /* macros to read various fields in RX descriptor */
9674
9775 /* DWORD 0 */
98
-#define GET_RX_DESC_PKT_LEN(__rxdesc) \
99
- LE_BITS_TO_4BYTE((__rxdesc), 0, 14)
100
-#define GET_RX_DESC_CRC32(__rxdesc) \
101
- LE_BITS_TO_4BYTE(__rxdesc, 14, 1)
102
-#define GET_RX_DESC_ICV(__rxdesc) \
103
- LE_BITS_TO_4BYTE(__rxdesc, 15, 1)
104
-#define GET_RX_DESC_DRVINFO_SIZE(__rxdesc) \
105
- LE_BITS_TO_4BYTE(__rxdesc, 16, 4)
106
-#define GET_RX_DESC_SECURITY(__rxdesc) \
107
- LE_BITS_TO_4BYTE(__rxdesc, 20, 3)
108
-#define GET_RX_DESC_QOS(__rxdesc) \
109
- LE_BITS_TO_4BYTE(__rxdesc, 23, 1)
110
-#define GET_RX_DESC_SHIFT(__rxdesc) \
111
- LE_BITS_TO_4BYTE(__rxdesc, 24, 2)
112
-#define GET_RX_DESC_PHY_STATUS(__rxdesc) \
113
- LE_BITS_TO_4BYTE(__rxdesc, 26, 1)
114
-#define GET_RX_DESC_SWDEC(__rxdesc) \
115
- LE_BITS_TO_4BYTE(__rxdesc, 27, 1)
116
-#define GET_RX_DESC_LAST_SEG(__rxdesc) \
117
- LE_BITS_TO_4BYTE(__rxdesc, 28, 1)
118
-#define GET_RX_DESC_FIRST_SEG(__rxdesc) \
119
- LE_BITS_TO_4BYTE(__rxdesc, 29, 1)
120
-#define GET_RX_DESC_EOR(__rxdesc) \
121
- LE_BITS_TO_4BYTE(__rxdesc, 30, 1)
122
-#define GET_RX_DESC_OWN(__rxdesc) \
123
- LE_BITS_TO_4BYTE(__rxdesc, 31, 1)
76
+static inline u32 get_rx_desc_pkt_len(__le32 *__rxdesc)
77
+{
78
+ return le32_get_bits(*__rxdesc, GENMASK(13, 0));
79
+}
80
+
81
+static inline u32 get_rx_desc_crc32(__le32 *__rxdesc)
82
+{
83
+ return le32_get_bits(*__rxdesc, BIT(14));
84
+}
85
+
86
+static inline u32 get_rx_desc_icv(__le32 *__rxdesc)
87
+{
88
+ return le32_get_bits(*__rxdesc, BIT(15));
89
+}
90
+
91
+static inline u32 get_rx_desc_drvinfo_size(__le32 *__rxdesc)
92
+{
93
+ return le32_get_bits(*__rxdesc, GENMASK(19, 16));
94
+}
95
+
96
+static inline u32 get_rx_desc_shift(__le32 *__rxdesc)
97
+{
98
+ return le32_get_bits(*__rxdesc, GENMASK(25, 24));
99
+}
100
+
101
+static inline u32 get_rx_desc_phy_status(__le32 *__rxdesc)
102
+{
103
+ return le32_get_bits(*__rxdesc, BIT(26));
104
+}
105
+
106
+static inline u32 get_rx_desc_swdec(__le32 *__rxdesc)
107
+{
108
+ return le32_get_bits(*__rxdesc, BIT(27));
109
+}
110
+
124111
125112 /* DWORD 1 */
126
-#define GET_RX_DESC_MACID(__rxdesc) \
127
- LE_BITS_TO_4BYTE(__rxdesc + 4, 0, 5)
128
-#define GET_RX_DESC_TID(__rxdesc) \
129
- LE_BITS_TO_4BYTE(__rxdesc + 4, 5, 4)
130
-#define GET_RX_DESC_PAGGR(__rxdesc) \
131
- LE_BITS_TO_4BYTE(__rxdesc + 4, 14, 1)
132
-#define GET_RX_DESC_FAGGR(__rxdesc) \
133
- LE_BITS_TO_4BYTE(__rxdesc + 4, 15, 1)
134
-#define GET_RX_DESC_A1_FIT(__rxdesc) \
135
- LE_BITS_TO_4BYTE(__rxdesc + 4, 16, 4)
136
-#define GET_RX_DESC_A2_FIT(__rxdesc) \
137
- LE_BITS_TO_4BYTE(__rxdesc + 4, 20, 4)
138
-#define GET_RX_DESC_PAM(__rxdesc) \
139
- LE_BITS_TO_4BYTE(__rxdesc + 4, 24, 1)
140
-#define GET_RX_DESC_PWR(__rxdesc) \
141
- LE_BITS_TO_4BYTE(__rxdesc + 4, 25, 1)
142
-#define GET_RX_DESC_MORE_DATA(__rxdesc) \
143
- LE_BITS_TO_4BYTE(__rxdesc + 4, 26, 1)
144
-#define GET_RX_DESC_MORE_FRAG(__rxdesc) \
145
- LE_BITS_TO_4BYTE(__rxdesc + 4, 27, 1)
146
-#define GET_RX_DESC_TYPE(__rxdesc) \
147
- LE_BITS_TO_4BYTE(__rxdesc + 4, 28, 2)
148
-#define GET_RX_DESC_MC(__rxdesc) \
149
- LE_BITS_TO_4BYTE(__rxdesc + 4, 30, 1)
150
-#define GET_RX_DESC_BC(__rxdesc) \
151
- LE_BITS_TO_4BYTE(__rxdesc + 4, 31, 1)
113
+static inline u32 get_rx_desc_paggr(__le32 *__rxdesc)
114
+{
115
+ return le32_get_bits(*(__rxdesc + 1), BIT(14));
116
+}
152117
153
-/* DWORD 2 */
154
-#define GET_RX_DESC_SEQ(__rxdesc) \
155
- LE_BITS_TO_4BYTE(__rxdesc + 8, 0, 12)
156
-#define GET_RX_DESC_FRAG(__rxdesc) \
157
- LE_BITS_TO_4BYTE(__rxdesc + 8, 12, 4)
158
-#define GET_RX_DESC_USB_AGG_PKTNUM(__rxdesc) \
159
- LE_BITS_TO_4BYTE(__rxdesc + 8, 16, 8)
160
-#define GET_RX_DESC_NEXT_IND(__rxdesc) \
161
- LE_BITS_TO_4BYTE(__rxdesc + 8, 30, 1)
118
+static inline u32 get_rx_desc_faggr(__le32 *__rxdesc)
119
+{
120
+ return le32_get_bits(*(__rxdesc + 1), BIT(15));
121
+}
122
+
162123
163124 /* DWORD 3 */
164
-#define GET_RX_DESC_RX_MCS(__rxdesc) \
165
- LE_BITS_TO_4BYTE(__rxdesc + 12, 0, 6)
166
-#define GET_RX_DESC_RX_HT(__rxdesc) \
167
- LE_BITS_TO_4BYTE(__rxdesc + 12, 6, 1)
168
-#define GET_RX_DESC_AMSDU(__rxdesc) \
169
- LE_BITS_TO_4BYTE(__rxdesc + 12, 7, 1)
170
-#define GET_RX_DESC_SPLCP(__rxdesc) \
171
- LE_BITS_TO_4BYTE(__rxdesc + 12, 8, 1)
172
-#define GET_RX_DESC_BW(__rxdesc) \
173
- LE_BITS_TO_4BYTE(__rxdesc + 12, 9, 1)
174
-#define GET_RX_DESC_HTC(__rxdesc) \
175
- LE_BITS_TO_4BYTE(__rxdesc + 12, 10, 1)
176
-#define GET_RX_DESC_TCP_CHK_RPT(__rxdesc) \
177
- LE_BITS_TO_4BYTE(__rxdesc + 12, 11, 1)
178
-#define GET_RX_DESC_IP_CHK_RPT(__rxdesc) \
179
- LE_BITS_TO_4BYTE(__rxdesc + 12, 12, 1)
180
-#define GET_RX_DESC_TCP_CHK_VALID(__rxdesc) \
181
- LE_BITS_TO_4BYTE(__rxdesc + 12, 13, 1)
182
-#define GET_RX_DESC_HWPC_ERR(__rxdesc) \
183
- LE_BITS_TO_4BYTE(__rxdesc + 12, 14, 1)
184
-#define GET_RX_DESC_HWPC_IND(__rxdesc) \
185
- LE_BITS_TO_4BYTE(__rxdesc + 12, 15, 1)
186
-#define GET_RX_DESC_IV0(__rxdesc) \
187
- LE_BITS_TO_4BYTE(__rxdesc + 12, 16, 16)
125
+static inline u32 get_rx_desc_rx_mcs(__le32 *__rxdesc)
126
+{
127
+ return le32_get_bits(*(__rxdesc + 3), GENMASK(5, 0));
128
+}
188129
189
-/* DWORD 4 */
190
-#define GET_RX_DESC_IV1(__rxdesc) \
191
- LE_BITS_TO_4BYTE(__rxdesc + 16, 0, 32)
130
+static inline u32 get_rx_desc_rx_ht(__le32 *__rxdesc)
131
+{
132
+ return le32_get_bits(*(__rxdesc + 3), BIT(6));
133
+}
134
+
135
+static inline u32 get_rx_desc_splcp(__le32 *__rxdesc)
136
+{
137
+ return le32_get_bits(*(__rxdesc + 3), BIT(8));
138
+}
139
+
140
+static inline u32 get_rx_desc_bw(__le32 *__rxdesc)
141
+{
142
+ return le32_get_bits(*(__rxdesc + 3), BIT(9));
143
+}
144
+
192145
193146 /* DWORD 5 */
194
-#define GET_RX_DESC_TSFL(__rxdesc) \
195
- LE_BITS_TO_4BYTE(__rxdesc + 20, 0, 32)
147
+static inline u32 get_rx_desc_tsfl(__le32 *__rxdesc)
148
+{
149
+ return le32_to_cpu(*((__rxdesc + 5)));
150
+}
151
+
196152
197153 /*======================= tx desc ============================================*/
198154
199155 /* macros to set various fields in TX descriptor */
200156
201157 /* Dword 0 */
202
-#define SET_TX_DESC_PKT_SIZE(__txdesc, __value) \
203
- SET_BITS_TO_LE_4BYTE(__txdesc, 0, 16, __value)
204
-#define SET_TX_DESC_OFFSET(__txdesc, __value) \
205
- SET_BITS_TO_LE_4BYTE(__txdesc, 16, 8, __value)
206
-#define SET_TX_DESC_BMC(__txdesc, __value) \
207
- SET_BITS_TO_LE_4BYTE(__txdesc, 24, 1, __value)
208
-#define SET_TX_DESC_HTC(__txdesc, __value) \
209
- SET_BITS_TO_LE_4BYTE(__txdesc, 25, 1, __value)
210
-#define SET_TX_DESC_LAST_SEG(__txdesc, __value) \
211
- SET_BITS_TO_LE_4BYTE(__txdesc, 26, 1, __value)
212
-#define SET_TX_DESC_FIRST_SEG(__txdesc, __value) \
213
- SET_BITS_TO_LE_4BYTE(__txdesc, 27, 1, __value)
214
-#define SET_TX_DESC_LINIP(__txdesc, __value) \
215
- SET_BITS_TO_LE_4BYTE(__txdesc, 28, 1, __value)
216
-#define SET_TX_DESC_NO_ACM(__txdesc, __value) \
217
- SET_BITS_TO_LE_4BYTE(__txdesc, 29, 1, __value)
218
-#define SET_TX_DESC_GF(__txdesc, __value) \
219
- SET_BITS_TO_LE_4BYTE(__txdesc, 30, 1, __value)
220
-#define SET_TX_DESC_OWN(__txdesc, __value) \
221
- SET_BITS_TO_LE_4BYTE(__txdesc, 31, 1, __value)
158
+static inline void set_tx_desc_pkt_size(__le32 *__txdesc, u32 __value)
159
+{
160
+ le32p_replace_bits(__txdesc, __value, GENMASK(15, 0));
161
+}
162
+
163
+static inline void set_tx_desc_offset(__le32 *__txdesc, u32 __value)
164
+{
165
+ le32p_replace_bits(__txdesc, __value, GENMASK(23, 16));
166
+}
167
+
168
+static inline void set_tx_desc_bmc(__le32 *__txdesc, u32 __value)
169
+{
170
+ le32p_replace_bits(__txdesc, __value, BIT(24));
171
+}
172
+
173
+static inline void set_tx_desc_htc(__le32 *__txdesc, u32 __value)
174
+{
175
+ le32p_replace_bits(__txdesc, __value, BIT(25));
176
+}
177
+
178
+static inline void set_tx_desc_last_seg(__le32 *__txdesc, u32 __value)
179
+{
180
+ le32p_replace_bits(__txdesc, __value, BIT(26));
181
+}
182
+
183
+static inline void set_tx_desc_first_seg(__le32 *__txdesc, u32 __value)
184
+{
185
+ le32p_replace_bits(__txdesc, __value, BIT(27));
186
+}
187
+
188
+static inline void set_tx_desc_linip(__le32 *__txdesc, u32 __value)
189
+{
190
+ le32p_replace_bits(__txdesc, __value, BIT(28));
191
+}
192
+
193
+static inline void set_tx_desc_own(__le32 *__txdesc, u32 __value)
194
+{
195
+ le32p_replace_bits(__txdesc, __value, BIT(31));
196
+}
222197
223198
224199 /* Dword 1 */
225
-#define SET_TX_DESC_MACID(__txdesc, __value) \
226
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 0, 5, __value)
227
-#define SET_TX_DESC_AGG_ENABLE(__txdesc, __value) \
228
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 5, 1, __value)
229
-#define SET_TX_DESC_AGG_BREAK(__txdesc, __value) \
230
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 6, 1, __value)
231
-#define SET_TX_DESC_RDG_ENABLE(__txdesc, __value) \
232
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 7, 1, __value)
233
-#define SET_TX_DESC_QUEUE_SEL(__txdesc, __value) \
234
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 8, 5, __value)
235
-#define SET_TX_DESC_RDG_NAV_EXT(__txdesc, __value) \
236
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 13, 1, __value)
237
-#define SET_TX_DESC_LSIG_TXOP_EN(__txdesc, __value) \
238
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 14, 1, __value)
239
-#define SET_TX_DESC_PIFS(__txdesc, __value) \
240
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 15, 1, __value)
241
-#define SET_TX_DESC_RATE_ID(__txdesc, __value) \
242
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 16, 4, __value)
243
-#define SET_TX_DESC_RA_BRSR_ID(__txdesc, __value) \
244
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 16, 4, __value)
245
-#define SET_TX_DESC_NAV_USE_HDR(__txdesc, __value) \
246
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 20, 1, __value)
247
-#define SET_TX_DESC_EN_DESC_ID(__txdesc, __value) \
248
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 21, 1, __value)
249
-#define SET_TX_DESC_SEC_TYPE(__txdesc, __value) \
250
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 22, 2, __value)
251
-#define SET_TX_DESC_PKT_OFFSET(__txdesc, __value) \
252
- SET_BITS_TO_LE_4BYTE(__txdesc + 4, 26, 5, __value)
200
+static inline void set_tx_desc_macid(__le32 *__txdesc, u32 __value)
201
+{
202
+ le32p_replace_bits((__txdesc + 1), __value, GENMASK(4, 0));
203
+}
204
+
205
+static inline void set_tx_desc_agg_enable(__le32 *__txdesc, u32 __value)
206
+{
207
+ le32p_replace_bits((__txdesc + 1), __value, BIT(5));
208
+}
209
+
210
+static inline void set_tx_desc_agg_break(__le32 *__txdesc, u32 __value)
211
+{
212
+ le32p_replace_bits((__txdesc + 1), __value, BIT(6));
213
+}
214
+
215
+static inline void set_tx_desc_rdg_enable(__le32 *__txdesc, u32 __value)
216
+{
217
+ le32p_replace_bits((__txdesc + 1), __value, BIT(7));
218
+}
219
+
220
+static inline void set_tx_desc_queue_sel(__le32 *__txdesc, u32 __value)
221
+{
222
+ le32p_replace_bits((__txdesc + 1), __value, GENMASK(12, 8));
223
+}
224
+
225
+static inline void set_tx_desc_rate_id(__le32 *__txdesc, u32 __value)
226
+{
227
+ le32p_replace_bits((__txdesc + 1), __value, GENMASK(19, 16));
228
+}
229
+
230
+static inline void set_tx_desc_nav_use_hdr(__le32 *__txdesc, u32 __value)
231
+{
232
+ le32p_replace_bits((__txdesc + 1), __value, BIT(20));
233
+}
234
+
235
+static inline void set_tx_desc_sec_type(__le32 *__txdesc, u32 __value)
236
+{
237
+ le32p_replace_bits((__txdesc + 1), __value, GENMASK(23, 22));
238
+}
239
+
240
+static inline void set_tx_desc_pkt_offset(__le32 *__txdesc, u32 __value)
241
+{
242
+ le32p_replace_bits((__txdesc + 1), __value, GENMASK(30, 26));
243
+}
244
+
253245
254246 /* Dword 2 */
255
-#define SET_TX_DESC_RTS_RC(__txdesc, __value) \
256
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 0, 6, __value)
257
-#define SET_TX_DESC_DATA_RC(__txdesc, __value) \
258
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 6, 6, __value)
259
-#define SET_TX_DESC_BAR_RTY_TH(__txdesc, __value) \
260
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 14, 2, __value)
261
-#define SET_TX_DESC_MORE_FRAG(__txdesc, __value) \
262
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 17, 1, __value)
263
-#define SET_TX_DESC_RAW(__txdesc, __value) \
264
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 18, 1, __value)
265
-#define SET_TX_DESC_CCX(__txdesc, __value) \
266
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 19, 1, __value)
267
-#define SET_TX_DESC_AMPDU_DENSITY(__txdesc, __value) \
268
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 20, 3, __value)
269
-#define SET_TX_DESC_ANTSEL_A(__txdesc, __value) \
270
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 24, 1, __value)
271
-#define SET_TX_DESC_ANTSEL_B(__txdesc, __value) \
272
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 25, 1, __value)
273
-#define SET_TX_DESC_TX_ANT_CCK(__txdesc, __value) \
274
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 26, 2, __value)
275
-#define SET_TX_DESC_TX_ANTL(__txdesc, __value) \
276
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 28, 2, __value)
277
-#define SET_TX_DESC_TX_ANT_HT(__txdesc, __value) \
278
- SET_BITS_TO_LE_4BYTE(__txdesc + 8, 30, 2, __value)
247
+static inline void set_tx_desc_more_frag(__le32 *__txdesc, u32 __value)
248
+{
249
+ le32p_replace_bits((__txdesc + 2), __value, BIT(17));
250
+}
251
+
252
+static inline void set_tx_desc_ampdu_density(__le32 *__txdesc, u32 __value)
253
+{
254
+ le32p_replace_bits((__txdesc + 2), __value, GENMASK(22, 20));
255
+}
256
+
279257
280258 /* Dword 3 */
281
-#define SET_TX_DESC_NEXT_HEAP_PAGE(__txdesc, __value) \
282
- SET_BITS_TO_LE_4BYTE(__txdesc + 12, 0, 8, __value)
283
-#define SET_TX_DESC_TAIL_PAGE(__txdesc, __value) \
284
- SET_BITS_TO_LE_4BYTE(__txdesc + 12, 8, 8, __value)
285
-#define SET_TX_DESC_SEQ(__txdesc, __value) \
286
- SET_BITS_TO_LE_4BYTE(__txdesc + 12, 16, 12, __value)
287
-#define SET_TX_DESC_PKT_ID(__txdesc, __value) \
288
- SET_BITS_TO_LE_4BYTE(__txdesc + 12, 28, 4, __value)
259
+static inline void set_tx_desc_seq(__le32 *__txdesc, u32 __value)
260
+{
261
+ le32p_replace_bits((__txdesc + 3), __value, GENMASK(27, 16));
262
+}
263
+
264
+static inline void set_tx_desc_pkt_id(__le32 *__txdesc, u32 __value)
265
+{
266
+ le32p_replace_bits((__txdesc + 3), __value, GENMASK(31, 28));
267
+}
268
+
289269
290270 /* Dword 4 */
291
-#define SET_TX_DESC_RTS_RATE(__txdesc, __value) \
292
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 0, 5, __value)
293
-#define SET_TX_DESC_AP_DCFE(__txdesc, __value) \
294
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 5, 1, __value)
295
-#define SET_TX_DESC_QOS(__txdesc, __value) \
296
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 6, 1, __value)
297
-#define SET_TX_DESC_HWSEQ_EN(__txdesc, __value) \
298
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 7, 1, __value)
299
-#define SET_TX_DESC_USE_RATE(__txdesc, __value) \
300
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 8, 1, __value)
301
-#define SET_TX_DESC_DISABLE_RTS_FB(__txdesc, __value) \
302
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 9, 1, __value)
303
-#define SET_TX_DESC_DISABLE_FB(__txdesc, __value) \
304
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 10, 1, __value)
305
-#define SET_TX_DESC_CTS2SELF(__txdesc, __value) \
306
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 11, 1, __value)
307
-#define SET_TX_DESC_RTS_ENABLE(__txdesc, __value) \
308
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 12, 1, __value)
309
-#define SET_TX_DESC_HW_RTS_ENABLE(__txdesc, __value) \
310
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 13, 1, __value)
311
-#define SET_TX_DESC_WAIT_DCTS(__txdesc, __value) \
312
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 18, 1, __value)
313
-#define SET_TX_DESC_CTS2AP_EN(__txdesc, __value) \
314
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 19, 1, __value)
315
-#define SET_TX_DESC_DATA_SC(__txdesc, __value) \
316
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 20, 2, __value)
317
-#define SET_TX_DESC_DATA_STBC(__txdesc, __value) \
318
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 22, 2, __value)
319
-#define SET_TX_DESC_DATA_SHORT(__txdesc, __value) \
320
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 24, 1, __value)
321
-#define SET_TX_DESC_DATA_BW(__txdesc, __value) \
322
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 25, 1, __value)
323
-#define SET_TX_DESC_RTS_SHORT(__txdesc, __value) \
324
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 26, 1, __value)
325
-#define SET_TX_DESC_RTS_BW(__txdesc, __value) \
326
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 27, 1, __value)
327
-#define SET_TX_DESC_RTS_SC(__txdesc, __value) \
328
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 28, 2, __value)
329
-#define SET_TX_DESC_RTS_STBC(__txdesc, __value) \
330
- SET_BITS_TO_LE_4BYTE(__txdesc + 16, 30, 2, __value)
271
+static inline void set_tx_desc_rts_rate(__le32 *__txdesc, u32 __value)
272
+{
273
+ le32p_replace_bits((__txdesc + 4), __value, GENMASK(4, 0));
274
+}
275
+
276
+static inline void set_tx_desc_qos(__le32 *__txdesc, u32 __value)
277
+{
278
+ le32p_replace_bits((__txdesc + 4), __value, BIT(6));
279
+}
280
+
281
+static inline void set_tx_desc_hwseq_en(__le32 *__txdesc, u32 __value)
282
+{
283
+ le32p_replace_bits((__txdesc + 4), __value, BIT(7));
284
+}
285
+
286
+static inline void set_tx_desc_use_rate(__le32 *__txdesc, u32 __value)
287
+{
288
+ le32p_replace_bits((__txdesc + 4), __value, BIT(8));
289
+}
290
+
291
+static inline void set_tx_desc_disable_fb(__le32 *__txdesc, u32 __value)
292
+{
293
+ le32p_replace_bits((__txdesc + 4), __value, BIT(10));
294
+}
295
+
296
+static inline void set_tx_desc_cts2self(__le32 *__txdesc, u32 __value)
297
+{
298
+ le32p_replace_bits((__txdesc + 4), __value, BIT(11));
299
+}
300
+
301
+static inline void set_tx_desc_rts_enable(__le32 *__txdesc, u32 __value)
302
+{
303
+ le32p_replace_bits((__txdesc + 4), __value, BIT(12));
304
+}
305
+
306
+static inline void set_tx_desc_hw_rts_enable(__le32 *__txdesc, u32 __value)
307
+{
308
+ le32p_replace_bits((__txdesc + 4), __value, BIT(13));
309
+}
310
+
311
+static inline void set_tx_desc_data_sc(__le32 *__txdesc, u32 __value)
312
+{
313
+ le32p_replace_bits((__txdesc + 4), __value, GENMASK(21, 20));
314
+}
315
+
316
+static inline void set_tx_desc_data_bw(__le32 *__txdesc, u32 __value)
317
+{
318
+ le32p_replace_bits((__txdesc + 4), __value, BIT(25));
319
+}
320
+
321
+static inline void set_tx_desc_rts_short(__le32 *__txdesc, u32 __value)
322
+{
323
+ le32p_replace_bits((__txdesc + 4), __value, BIT(26));
324
+}
325
+
326
+static inline void set_tx_desc_rts_bw(__le32 *__txdesc, u32 __value)
327
+{
328
+ le32p_replace_bits((__txdesc + 4), __value, BIT(27));
329
+}
330
+
331
+static inline void set_tx_desc_rts_sc(__le32 *__txdesc, u32 __value)
332
+{
333
+ le32p_replace_bits((__txdesc + 4), __value, GENMASK(29, 28));
334
+}
335
+
336
+static inline void set_tx_desc_rts_stbc(__le32 *__txdesc, u32 __value)
337
+{
338
+ le32p_replace_bits((__txdesc + 4), __value, GENMASK(31, 30));
339
+}
340
+
331341
332342 /* Dword 5 */
333
-#define SET_TX_DESC_TX_RATE(__pdesc, __val) \
334
- SET_BITS_TO_LE_4BYTE(__pdesc + 20, 0, 6, __val)
335
-#define SET_TX_DESC_DATA_SHORTGI(__pdesc, __val) \
336
- SET_BITS_TO_LE_4BYTE(__pdesc + 20, 6, 1, __val)
337
-#define SET_TX_DESC_CCX_TAG(__pdesc, __val) \
338
- SET_BITS_TO_LE_4BYTE(__pdesc + 20, 7, 1, __val)
339
-#define SET_TX_DESC_DATA_RATE_FB_LIMIT(__txdesc, __value) \
340
- SET_BITS_TO_LE_4BYTE(__txdesc + 20, 8, 5, __value)
341
-#define SET_TX_DESC_RTS_RATE_FB_LIMIT(__txdesc, __value) \
342
- SET_BITS_TO_LE_4BYTE(__txdesc + 20, 13, 4, __value)
343
-#define SET_TX_DESC_RETRY_LIMIT_ENABLE(__txdesc, __value) \
344
- SET_BITS_TO_LE_4BYTE(__txdesc + 20, 17, 1, __value)
345
-#define SET_TX_DESC_DATA_RETRY_LIMIT(__txdesc, __value) \
346
- SET_BITS_TO_LE_4BYTE(__txdesc + 20, 18, 6, __value)
347
-#define SET_TX_DESC_USB_TXAGG_NUM(__txdesc, __value) \
348
- SET_BITS_TO_LE_4BYTE(__txdesc + 20, 24, 8, __value)
343
+static inline void set_tx_desc_tx_rate(__le32 *__pdesc, u32 __val)
344
+{
345
+ le32p_replace_bits((__pdesc + 5), __val, GENMASK(5, 0));
346
+}
347
+
348
+static inline void set_tx_desc_data_shortgi(__le32 *__pdesc, u32 __val)
349
+{
350
+ le32p_replace_bits((__pdesc + 5), __val, BIT(6));
351
+}
352
+
353
+static inline void set_tx_desc_data_rate_fb_limit(__le32 *__txdesc, u32 __value)
354
+{
355
+ le32p_replace_bits((__txdesc + 5), __value, GENMASK(12, 8));
356
+}
357
+
358
+static inline void set_tx_desc_rts_rate_fb_limit(__le32 *__txdesc, u32 __value)
359
+{
360
+ le32p_replace_bits((__txdesc + 5), __value, GENMASK(16, 13));
361
+}
362
+
349363
350364 /* Dword 6 */
351
-#define SET_TX_DESC_TXAGC_A(__txdesc, __value) \
352
- SET_BITS_TO_LE_4BYTE(__txdesc + 24, 0, 5, __value)
353
-#define SET_TX_DESC_TXAGC_B(__txdesc, __value) \
354
- SET_BITS_TO_LE_4BYTE(__txdesc + 24, 5, 5, __value)
355
-#define SET_TX_DESC_USB_MAX_LEN(__txdesc, __value) \
356
- SET_BITS_TO_LE_4BYTE(__txdesc + 24, 10, 1, __value)
357
-#define SET_TX_DESC_MAX_AGG_NUM(__txdesc, __value) \
358
- SET_BITS_TO_LE_4BYTE(__txdesc + 24, 11, 5, __value)
359
-#define SET_TX_DESC_MCSG1_MAX_LEN(__txdesc, __value) \
360
- SET_BITS_TO_LE_4BYTE(__txdesc + 24, 16, 4, __value)
361
-#define SET_TX_DESC_MCSG2_MAX_LEN(__txdesc, __value) \
362
- SET_BITS_TO_LE_4BYTE(__txdesc + 24, 20, 4, __value)
363
-#define SET_TX_DESC_MCSG3_MAX_LEN(__txdesc, __value) \
364
- SET_BITS_TO_LE_4BYTE(__txdesc + 24, 24, 4, __value)
365
-#define SET_TX_DESC_MCSG7_MAX_LEN(__txdesc, __value) \
366
- SET_BITS_TO_LE_4BYTE(__txdesc + 24, 28, 4, __value)
365
+static inline void set_tx_desc_max_agg_num(__le32 *__txdesc, u32 __value)
366
+{
367
+ le32p_replace_bits((__txdesc + 6), __value, GENMASK(15, 11));
368
+}
369
+
367370
368371 /* Dword 7 */
369
-#define SET_TX_DESC_TX_DESC_CHECKSUM(__txdesc, __value) \
370
- SET_BITS_TO_LE_4BYTE(__txdesc + 28, 0, 16, __value)
371
-#define SET_TX_DESC_MCSG4_MAX_LEN(__txdesc, __value) \
372
- SET_BITS_TO_LE_4BYTE(__txdesc + 28, 16, 4, __value)
373
-#define SET_TX_DESC_MCSG5_MAX_LEN(__txdesc, __value) \
374
- SET_BITS_TO_LE_4BYTE(__txdesc + 28, 20, 4, __value)
375
-#define SET_TX_DESC_MCSG6_MAX_LEN(__txdesc, __value) \
376
- SET_BITS_TO_LE_4BYTE(__txdesc + 28, 24, 4, __value)
377
-#define SET_TX_DESC_MCSG15_MAX_LEN(__txdesc, __value) \
378
- SET_BITS_TO_LE_4BYTE(__txdesc + 28, 28, 4, __value)
372
+static inline void set_tx_desc_tx_desc_checksum(__le32 *__txdesc, u32 __value)
373
+{
374
+ le32p_replace_bits((__txdesc + 7), __value, GENMASK(15, 0));
375
+}
379376
380377
381378 int rtl8192cu_endpoint_mapping(struct ieee80211_hw *hw);
....@@ -397,8 +394,8 @@
397394 struct sk_buff *skb,
398395 u8 queue_index,
399396 struct rtl_tcb_desc *tcb_desc);
400
-void rtl92cu_fill_fake_txdesc(struct ieee80211_hw *hw, u8 * pDesc,
401
- u32 buffer_len, bool bIsPsPoll);
397
+void rtl92cu_fill_fake_txdesc(struct ieee80211_hw *hw, u8 *pdesc,
398
+ u32 buffer_len, bool ispspoll);
402399 void rtl92cu_tx_fill_cmddesc(struct ieee80211_hw *hw,
403400 u8 *pdesc, bool b_firstseg,
404401 bool b_lastseg, struct sk_buff *skb);