forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/trx.h
....@@ -1,27 +1,5 @@
1
-/******************************************************************************
2
- *
3
- * Copyright(c) 2009-2013 Realtek Corporation.
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-2013 Realtek Corporation.*/
253
264 #ifndef __RTL92CE_TRX_H__
275 #define __RTL92CE_TRX_H__
....@@ -36,505 +14,545 @@
3614 #define USB_HWDESC_HEADER_LEN 32
3715 #define CRCLENGTH 4
3816
39
-#define SET_TX_DESC_PKT_SIZE(__pdesc, __val) \
40
- SET_BITS_TO_LE_4BYTE(__pdesc, 0, 16, __val)
41
-#define SET_TX_DESC_OFFSET(__pdesc, __val) \
42
- SET_BITS_TO_LE_4BYTE(__pdesc, 16, 8, __val)
43
-#define SET_TX_DESC_BMC(__pdesc, __val) \
44
- SET_BITS_TO_LE_4BYTE(__pdesc, 24, 1, __val)
45
-#define SET_TX_DESC_HTC(__pdesc, __val) \
46
- SET_BITS_TO_LE_4BYTE(__pdesc, 25, 1, __val)
47
-#define SET_TX_DESC_LAST_SEG(__pdesc, __val) \
48
- SET_BITS_TO_LE_4BYTE(__pdesc, 26, 1, __val)
49
-#define SET_TX_DESC_FIRST_SEG(__pdesc, __val) \
50
- SET_BITS_TO_LE_4BYTE(__pdesc, 27, 1, __val)
51
-#define SET_TX_DESC_LINIP(__pdesc, __val) \
52
- SET_BITS_TO_LE_4BYTE(__pdesc, 28, 1, __val)
53
-#define SET_TX_DESC_NO_ACM(__pdesc, __val) \
54
- SET_BITS_TO_LE_4BYTE(__pdesc, 29, 1, __val)
55
-#define SET_TX_DESC_GF(__pdesc, __val) \
56
- SET_BITS_TO_LE_4BYTE(__pdesc, 30, 1, __val)
57
-#define SET_TX_DESC_OWN(__pdesc, __val) \
58
- SET_BITS_TO_LE_4BYTE(__pdesc, 31, 1, __val)
17
+static inline void set_tx_desc_pkt_size(__le32 *__pdesc, u32 __val)
18
+{
19
+ le32p_replace_bits(__pdesc, __val, GENMASK(15, 0));
20
+}
5921
60
-#define GET_TX_DESC_PKT_SIZE(__pdesc) \
61
- LE_BITS_TO_4BYTE(__pdesc, 0, 16)
62
-#define GET_TX_DESC_OFFSET(__pdesc) \
63
- LE_BITS_TO_4BYTE(__pdesc, 16, 8)
64
-#define GET_TX_DESC_BMC(__pdesc) \
65
- LE_BITS_TO_4BYTE(__pdesc, 24, 1)
66
-#define GET_TX_DESC_HTC(__pdesc) \
67
- LE_BITS_TO_4BYTE(__pdesc, 25, 1)
68
-#define GET_TX_DESC_LAST_SEG(__pdesc) \
69
- LE_BITS_TO_4BYTE(__pdesc, 26, 1)
70
-#define GET_TX_DESC_FIRST_SEG(__pdesc) \
71
- LE_BITS_TO_4BYTE(__pdesc, 27, 1)
72
-#define GET_TX_DESC_LINIP(__pdesc) \
73
- LE_BITS_TO_4BYTE(__pdesc, 28, 1)
74
-#define GET_TX_DESC_NO_ACM(__pdesc) \
75
- LE_BITS_TO_4BYTE(__pdesc, 29, 1)
76
-#define GET_TX_DESC_GF(__pdesc) \
77
- LE_BITS_TO_4BYTE(__pdesc, 30, 1)
78
-#define GET_TX_DESC_OWN(__pdesc) \
79
- LE_BITS_TO_4BYTE(__pdesc, 31, 1)
22
+static inline void set_tx_desc_offset(__le32 *__pdesc, u32 __val)
23
+{
24
+ le32p_replace_bits(__pdesc, __val, GENMASK(23, 16));
25
+}
8026
81
-#define SET_TX_DESC_MACID(__pdesc, __val) \
82
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 0, 6, __val)
83
-#define SET_TX_DESC_QUEUE_SEL(__pdesc, __val) \
84
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 8, 5, __val)
85
-#define SET_TX_DESC_RDG_NAV_EXT(__pdesc, __val) \
86
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 13, 1, __val)
87
-#define SET_TX_DESC_LSIG_TXOP_EN(__pdesc, __val) \
88
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 14, 1, __val)
89
-#define SET_TX_DESC_PIFS(__pdesc, __val) \
90
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 15, 1, __val)
91
-#define SET_TX_DESC_RATE_ID(__pdesc, __val) \
92
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 16, 4, __val)
93
-#define SET_TX_DESC_NAV_USE_HDR(__pdesc, __val) \
94
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 20, 1, __val)
95
-#define SET_TX_DESC_EN_DESC_ID(__pdesc, __val) \
96
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 21, 1, __val)
97
-#define SET_TX_DESC_SEC_TYPE(__pdesc, __val) \
98
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 22, 2, __val)
99
-#define SET_TX_DESC_PKT_OFFSET(__pdesc, __val) \
100
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 26, 5, __val)
101
-#define SET_TX_DESC_PADDING_LEN(__pdesc, __val) \
102
- SET_BITS_TO_LE_4BYTE(__pdesc+4, 24, 8, __val)
27
+static inline void set_tx_desc_bmc(__le32 *__pdesc, u32 __val)
28
+{
29
+ le32p_replace_bits(__pdesc, __val, BIT(24));
30
+}
10331
104
-#define GET_TX_DESC_MACID(__pdesc) \
105
- LE_BITS_TO_4BYTE(__pdesc+4, 0, 5)
106
-#define GET_TX_DESC_AGG_ENABLE(__pdesc) \
107
- LE_BITS_TO_4BYTE(__pdesc+4, 5, 1)
108
-#define GET_TX_DESC_AGG_BREAK(__pdesc) \
109
- LE_BITS_TO_4BYTE(__pdesc+4, 6, 1)
110
-#define GET_TX_DESC_RDG_ENABLE(__pdesc) \
111
- LE_BITS_TO_4BYTE(__pdesc+4, 7, 1)
112
-#define GET_TX_DESC_QUEUE_SEL(__pdesc) \
113
- LE_BITS_TO_4BYTE(__pdesc+4, 8, 5)
114
-#define GET_TX_DESC_RDG_NAV_EXT(__pdesc) \
115
- LE_BITS_TO_4BYTE(__pdesc+4, 13, 1)
116
-#define GET_TX_DESC_LSIG_TXOP_EN(__pdesc) \
117
- LE_BITS_TO_4BYTE(__pdesc+4, 14, 1)
118
-#define GET_TX_DESC_PIFS(__pdesc) \
119
- LE_BITS_TO_4BYTE(__pdesc+4, 15, 1)
120
-#define GET_TX_DESC_RATE_ID(__pdesc) \
121
- LE_BITS_TO_4BYTE(__pdesc+4, 16, 4)
122
-#define GET_TX_DESC_NAV_USE_HDR(__pdesc) \
123
- LE_BITS_TO_4BYTE(__pdesc+4, 20, 1)
124
-#define GET_TX_DESC_EN_DESC_ID(__pdesc) \
125
- LE_BITS_TO_4BYTE(__pdesc+4, 21, 1)
126
-#define GET_TX_DESC_SEC_TYPE(__pdesc) \
127
- LE_BITS_TO_4BYTE(__pdesc+4, 22, 2)
128
-#define GET_TX_DESC_PKT_OFFSET(__pdesc) \
129
- LE_BITS_TO_4BYTE(__pdesc+4, 24, 8)
32
+static inline void set_tx_desc_htc(__le32 *__pdesc, u32 __val)
33
+{
34
+ le32p_replace_bits(__pdesc, __val, BIT(25));
35
+}
13036
131
-#define SET_TX_DESC_RTS_RC(__pdesc, __val) \
132
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 0, 6, __val)
133
-#define SET_TX_DESC_DATA_RC(__pdesc, __val) \
134
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 6, 6, __val)
135
-#define SET_TX_DESC_AGG_ENABLE(__pdesc, __val) \
136
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 12, 1, __val)
137
-#define SET_TX_DESC_RDG_ENABLE(__pdesc, __val) \
138
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 13, 1, __val)
139
-#define SET_TX_DESC_BAR_RTY_TH(__pdesc, __val) \
140
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 14, 2, __val)
141
-#define SET_TX_DESC_AGG_BREAK(__pdesc, __val) \
142
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 16, 1, __val)
143
-#define SET_TX_DESC_MORE_FRAG(__pdesc, __val) \
144
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 17, 1, __val)
145
-#define SET_TX_DESC_RAW(__pdesc, __val) \
146
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 18, 1, __val)
147
-#define SET_TX_DESC_CCX(__pdesc, __val) \
148
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 19, 1, __val)
149
-#define SET_TX_DESC_AMPDU_DENSITY(__pdesc, __val) \
150
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 20, 3, __val)
151
-#define SET_TX_DESC_BT_INT(__pdesc, __val) \
152
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 23, 1, __val)
153
-#define SET_TX_DESC_ANTSEL_A(__pdesc, __val) \
154
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 24, 1, __val)
155
-#define SET_TX_DESC_ANTSEL_B(__pdesc, __val) \
156
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 25, 1, __val)
157
-#define SET_TX_DESC_TX_ANT_CCK(__pdesc, __val) \
158
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 26, 2, __val)
159
-#define SET_TX_DESC_TX_ANTL(__pdesc, __val) \
160
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 28, 2, __val)
161
-#define SET_TX_DESC_TX_ANT_HT(__pdesc, __val) \
162
- SET_BITS_TO_LE_4BYTE(__pdesc+8, 30, 2, __val)
37
+static inline void set_tx_desc_last_seg(__le32 *__pdesc, u32 __val)
38
+{
39
+ le32p_replace_bits(__pdesc, __val, BIT(26));
40
+}
16341
164
-#define GET_TX_DESC_RTS_RC(__pdesc) \
165
- LE_BITS_TO_4BYTE(__pdesc+8, 0, 6)
166
-#define GET_TX_DESC_DATA_RC(__pdesc) \
167
- LE_BITS_TO_4BYTE(__pdesc+8, 6, 6)
168
-#define GET_TX_DESC_BAR_RTY_TH(__pdesc) \
169
- LE_BITS_TO_4BYTE(__pdesc+8, 14, 2)
170
-#define GET_TX_DESC_MORE_FRAG(__pdesc) \
171
- LE_BITS_TO_4BYTE(__pdesc+8, 17, 1)
172
-#define GET_TX_DESC_RAW(__pdesc) \
173
- LE_BITS_TO_4BYTE(__pdesc+8, 18, 1)
174
-#define GET_TX_DESC_CCX(__pdesc) \
175
- LE_BITS_TO_4BYTE(__pdesc+8, 19, 1)
176
-#define GET_TX_DESC_AMPDU_DENSITY(__pdesc) \
177
- LE_BITS_TO_4BYTE(__pdesc+8, 20, 3)
178
-#define GET_TX_DESC_ANTSEL_A(__pdesc) \
179
- LE_BITS_TO_4BYTE(__pdesc+8, 24, 1)
180
-#define GET_TX_DESC_ANTSEL_B(__pdesc) \
181
- LE_BITS_TO_4BYTE(__pdesc+8, 25, 1)
182
-#define GET_TX_DESC_TX_ANT_CCK(__pdesc) \
183
- LE_BITS_TO_4BYTE(__pdesc+8, 26, 2)
184
-#define GET_TX_DESC_TX_ANTL(__pdesc) \
185
- LE_BITS_TO_4BYTE(__pdesc+8, 28, 2)
186
-#define GET_TX_DESC_TX_ANT_HT(__pdesc) \
187
- LE_BITS_TO_4BYTE(__pdesc+8, 30, 2)
42
+static inline void set_tx_desc_first_seg(__le32 *__pdesc, u32 __val)
43
+{
44
+ le32p_replace_bits(__pdesc, __val, BIT(27));
45
+}
18846
189
-#define SET_TX_DESC_NEXT_HEAP_PAGE(__pdesc, __val) \
190
- SET_BITS_TO_LE_4BYTE(__pdesc+12, 0, 8, __val)
191
-#define SET_TX_DESC_TAIL_PAGE(__pdesc, __val) \
192
- SET_BITS_TO_LE_4BYTE(__pdesc+12, 8, 8, __val)
193
-#define SET_TX_DESC_SEQ(__pdesc, __val) \
194
- SET_BITS_TO_LE_4BYTE(__pdesc+12, 16, 12, __val)
195
-#define SET_TX_DESC_CPU_HANDLE(__pdesc, __val) \
196
- SET_BITS_TO_LE_4BYTE(__pdesc+12, 28, 1, __val)
197
-#define SET_TX_DESC_TAG1(__pdesc, __val) \
198
- SET_BITS_TO_LE_4BYTE(__pdesc+12, 29, 1, __val)
199
-#define SET_TX_DESC_TRIGGER_INT(__pdesc, __val) \
200
- SET_BITS_TO_LE_4BYTE(__pdesc+12, 30, 1, __val)
201
-#define SET_TX_DESC_HWSEQ_EN(__pdesc, __val) \
202
- SET_BITS_TO_LE_4BYTE(__pdesc+12, 31, 1, __val)
47
+static inline void set_tx_desc_linip(__le32 *__pdesc, u32 __val)
48
+{
49
+ le32p_replace_bits(__pdesc, __val, BIT(28));
50
+}
20351
204
-#define GET_TX_DESC_NEXT_HEAP_PAGE(__pdesc) \
205
- LE_BITS_TO_4BYTE(__pdesc+12, 0, 8)
206
-#define GET_TX_DESC_TAIL_PAGE(__pdesc) \
207
- LE_BITS_TO_4BYTE(__pdesc+12, 8, 8)
208
-#define GET_TX_DESC_SEQ(__pdesc) \
209
- LE_BITS_TO_4BYTE(__pdesc+12, 16, 12)
52
+static inline void set_tx_desc_own(__le32 *__pdesc, u32 __val)
53
+{
54
+ le32p_replace_bits(__pdesc, __val, BIT(31));
55
+}
21056
211
-#define SET_TX_DESC_RTS_RATE(__pdesc, __val) \
212
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 0, 5, __val)
213
-#define SET_TX_DESC_AP_DCFE(__pdesc, __val) \
214
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 5, 1, __val)
215
-#define SET_TX_DESC_QOS(__pdesc, __val) \
216
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 6, 1, __val)
217
-#define SET_TX_DESC_HWSEQ_SSN(__pdesc, __val) \
218
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 7, 1, __val)
219
-#define SET_TX_DESC_USE_RATE(__pdesc, __val) \
220
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 8, 1, __val)
221
-#define SET_TX_DESC_DISABLE_RTS_FB(__pdesc, __val) \
222
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 9, 1, __val)
223
-#define SET_TX_DESC_DISABLE_FB(__pdesc, __val) \
224
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 10, 1, __val)
225
-#define SET_TX_DESC_CTS2SELF(__pdesc, __val) \
226
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 11, 1, __val)
227
-#define SET_TX_DESC_RTS_ENABLE(__pdesc, __val) \
228
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 12, 1, __val)
229
-#define SET_TX_DESC_HW_RTS_ENABLE(__pdesc, __val) \
230
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 13, 1, __val)
231
-#define SET_TX_DESC_PORT_ID(__pdesc, __val) \
232
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 14, 1, __val)
233
-#define SET_TX_DESC_PWR_STATUS(__pdesc, __val) \
234
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 15, 3, __val)
235
-#define SET_TX_DESC_WAIT_DCTS(__pdesc, __val) \
236
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 18, 1, __val)
237
-#define SET_TX_DESC_CTS2AP_EN(__pdesc, __val) \
238
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 19, 1, __val)
239
-#define SET_TX_DESC_TX_SUB_CARRIER(__pdesc, __val) \
240
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 20, 2, __val)
241
-#define SET_TX_DESC_TX_STBC(__pdesc, __val) \
242
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 22, 2, __val)
243
-#define SET_TX_DESC_DATA_SHORT(__pdesc, __val) \
244
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 24, 1, __val)
245
-#define SET_TX_DESC_DATA_BW(__pdesc, __val) \
246
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 25, 1, __val)
247
-#define SET_TX_DESC_RTS_SHORT(__pdesc, __val) \
248
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 26, 1, __val)
249
-#define SET_TX_DESC_RTS_BW(__pdesc, __val) \
250
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 27, 1, __val)
251
-#define SET_TX_DESC_RTS_SC(__pdesc, __val) \
252
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 28, 2, __val)
253
-#define SET_TX_DESC_RTS_STBC(__pdesc, __val) \
254
- SET_BITS_TO_LE_4BYTE(__pdesc+16, 30, 2, __val)
57
+static inline int get_tx_desc_own(__le32 *__pdesc)
58
+{
59
+ return le32_get_bits(*(__pdesc), BIT(31));
60
+}
25561
256
-#define GET_TX_DESC_RTS_RATE(__pdesc) \
257
- LE_BITS_TO_4BYTE(__pdesc+16, 0, 5)
258
-#define GET_TX_DESC_AP_DCFE(__pdesc) \
259
- LE_BITS_TO_4BYTE(__pdesc+16, 5, 1)
260
-#define GET_TX_DESC_QOS(__pdesc) \
261
- LE_BITS_TO_4BYTE(__pdesc+16, 6, 1)
262
-#define GET_TX_DESC_HWSEQ_EN(__pdesc) \
263
- LE_BITS_TO_4BYTE(__pdesc+16, 7, 1)
264
-#define GET_TX_DESC_USE_RATE(__pdesc) \
265
- LE_BITS_TO_4BYTE(__pdesc+16, 8, 1)
266
-#define GET_TX_DESC_DISABLE_RTS_FB(__pdesc) \
267
- LE_BITS_TO_4BYTE(__pdesc+16, 9, 1)
268
-#define GET_TX_DESC_DISABLE_FB(__pdesc) \
269
- LE_BITS_TO_4BYTE(__pdesc+16, 10, 1)
270
-#define GET_TX_DESC_CTS2SELF(__pdesc) \
271
- LE_BITS_TO_4BYTE(__pdesc+16, 11, 1)
272
-#define GET_TX_DESC_RTS_ENABLE(__pdesc) \
273
- LE_BITS_TO_4BYTE(__pdesc+16, 12, 1)
274
-#define GET_TX_DESC_HW_RTS_ENABLE(__pdesc) \
275
- LE_BITS_TO_4BYTE(__pdesc+16, 13, 1)
276
-#define GET_TX_DESC_PORT_ID(__pdesc) \
277
- LE_BITS_TO_4BYTE(__pdesc+16, 14, 1)
278
-#define GET_TX_DESC_WAIT_DCTS(__pdesc) \
279
- LE_BITS_TO_4BYTE(__pdesc+16, 18, 1)
280
-#define GET_TX_DESC_CTS2AP_EN(__pdesc) \
281
- LE_BITS_TO_4BYTE(__pdesc+16, 19, 1)
282
-#define GET_TX_DESC_TX_SUB_CARRIER(__pdesc) \
283
- LE_BITS_TO_4BYTE(__pdesc+16, 20, 2)
284
-#define GET_TX_DESC_TX_STBC(__pdesc) \
285
- LE_BITS_TO_4BYTE(__pdesc+16, 22, 2)
286
-#define GET_TX_DESC_DATA_SHORT(__pdesc) \
287
- LE_BITS_TO_4BYTE(__pdesc+16, 24, 1)
288
-#define GET_TX_DESC_DATA_BW(__pdesc) \
289
- LE_BITS_TO_4BYTE(__pdesc+16, 25, 1)
290
-#define GET_TX_DESC_RTS_SHORT(__pdesc) \
291
- LE_BITS_TO_4BYTE(__pdesc+16, 26, 1)
292
-#define GET_TX_DESC_RTS_BW(__pdesc) \
293
- LE_BITS_TO_4BYTE(__pdesc+16, 27, 1)
294
-#define GET_TX_DESC_RTS_SC(__pdesc) \
295
- LE_BITS_TO_4BYTE(__pdesc+16, 28, 2)
296
-#define GET_TX_DESC_RTS_STBC(__pdesc) \
297
- LE_BITS_TO_4BYTE(__pdesc+16, 30, 2)
62
+static inline void set_tx_desc_macid(__le32 *__pdesc, u32 __val)
63
+{
64
+ le32p_replace_bits(__pdesc + 1, __val, GENMASK(5, 0));
65
+}
29866
299
-#define SET_TX_DESC_TX_RATE(__pdesc, __val) \
300
- SET_BITS_TO_LE_4BYTE(__pdesc+20, 0, 6, __val)
301
-#define SET_TX_DESC_DATA_SHORTGI(__pdesc, __val) \
302
- SET_BITS_TO_LE_4BYTE(__pdesc+20, 6, 1, __val)
303
-#define SET_TX_DESC_CCX_TAG(__pdesc, __val) \
304
- SET_BITS_TO_LE_4BYTE(__pdesc+20, 7, 1, __val)
305
-#define SET_TX_DESC_DATA_RATE_FB_LIMIT(__pdesc, __val) \
306
- SET_BITS_TO_LE_4BYTE(__pdesc+20, 8, 5, __val)
307
-#define SET_TX_DESC_RTS_RATE_FB_LIMIT(__pdesc, __val) \
308
- SET_BITS_TO_LE_4BYTE(__pdesc+20, 13, 4, __val)
309
-#define SET_TX_DESC_RETRY_LIMIT_ENABLE(__pdesc, __val) \
310
- SET_BITS_TO_LE_4BYTE(__pdesc+20, 17, 1, __val)
311
-#define SET_TX_DESC_DATA_RETRY_LIMIT(__pdesc, __val) \
312
- SET_BITS_TO_LE_4BYTE(__pdesc+20, 18, 6, __val)
313
-#define SET_TX_DESC_USB_TXAGG_NUM(__pdesc, __val) \
314
- SET_BITS_TO_LE_4BYTE(__pdesc+20, 24, 8, __val)
67
+static inline void set_tx_desc_queue_sel(__le32 *__pdesc, u32 __val)
68
+{
69
+ le32p_replace_bits(__pdesc + 1, __val, GENMASK(12, 8));
70
+}
31571
316
-#define GET_TX_DESC_TX_RATE(__pdesc) \
317
- LE_BITS_TO_4BYTE(__pdesc+20, 0, 6)
318
-#define GET_TX_DESC_DATA_SHORTGI(__pdesc) \
319
- LE_BITS_TO_4BYTE(__pdesc+20, 6, 1)
320
-#define GET_TX_DESC_CCX_TAG(__pdesc) \
321
- LE_BITS_TO_4BYTE(__pdesc+20, 7, 1)
322
-#define GET_TX_DESC_DATA_RATE_FB_LIMIT(__pdesc) \
323
- LE_BITS_TO_4BYTE(__pdesc+20, 8, 5)
324
-#define GET_TX_DESC_RTS_RATE_FB_LIMIT(__pdesc) \
325
- LE_BITS_TO_4BYTE(__pdesc+20, 13, 4)
326
-#define GET_TX_DESC_RETRY_LIMIT_ENABLE(__pdesc) \
327
- LE_BITS_TO_4BYTE(__pdesc+20, 17, 1)
328
-#define GET_TX_DESC_DATA_RETRY_LIMIT(__pdesc) \
329
- LE_BITS_TO_4BYTE(__pdesc+20, 18, 6)
330
-#define GET_TX_DESC_USB_TXAGG_NUM(__pdesc) \
331
- LE_BITS_TO_4BYTE(__pdesc+20, 24, 8)
72
+static inline void set_tx_desc_rate_id(__le32 *__pdesc, u32 __val)
73
+{
74
+ le32p_replace_bits(__pdesc + 1, __val, GENMASK(19, 16));
75
+}
33276
333
-#define SET_TX_DESC_TXAGC_A(__pdesc, __val) \
334
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 0, 5, __val)
335
-#define SET_TX_DESC_TXAGC_B(__pdesc, __val) \
336
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 5, 5, __val)
337
-#define SET_TX_DESC_USE_MAX_LEN(__pdesc, __val) \
338
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 10, 1, __val)
339
-#define SET_TX_DESC_MAX_AGG_NUM(__pdesc, __val) \
340
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 11, 5, __val)
341
-#define SET_TX_DESC_MCSG1_MAX_LEN(__pdesc, __val) \
342
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 16, 4, __val)
343
-#define SET_TX_DESC_MCSG2_MAX_LEN(__pdesc, __val) \
344
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 20, 4, __val)
345
-#define SET_TX_DESC_MCSG3_MAX_LEN(__pdesc, __val) \
346
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 24, 4, __val)
347
-#define SET_TX_DESC_MCS7_SGI_MAX_LEN(__pdesc, __val) \
348
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 28, 4, __val)
77
+static inline void set_tx_desc_nav_use_hdr(__le32 *__pdesc, u32 __val)
78
+{
79
+ le32p_replace_bits(__pdesc + 1, __val, BIT(20));
80
+}
34981
350
-#define GET_TX_DESC_TXAGC_A(__pdesc) \
351
- LE_BITS_TO_4BYTE(__pdesc+24, 0, 5)
352
-#define GET_TX_DESC_TXAGC_B(__pdesc) \
353
- LE_BITS_TO_4BYTE(__pdesc+24, 5, 5)
354
-#define GET_TX_DESC_USE_MAX_LEN(__pdesc) \
355
- LE_BITS_TO_4BYTE(__pdesc+24, 10, 1)
356
-#define GET_TX_DESC_MAX_AGG_NUM(__pdesc) \
357
- LE_BITS_TO_4BYTE(__pdesc+24, 11, 5)
358
-#define GET_TX_DESC_MCSG1_MAX_LEN(__pdesc) \
359
- LE_BITS_TO_4BYTE(__pdesc+24, 16, 4)
360
-#define GET_TX_DESC_MCSG2_MAX_LEN(__pdesc) \
361
- LE_BITS_TO_4BYTE(__pdesc+24, 20, 4)
362
-#define GET_TX_DESC_MCSG3_MAX_LEN(__pdesc) \
363
- LE_BITS_TO_4BYTE(__pdesc+24, 24, 4)
364
-#define GET_TX_DESC_MCS7_SGI_MAX_LEN(__pdesc) \
365
- LE_BITS_TO_4BYTE(__pdesc+24, 28, 4)
82
+static inline void set_tx_desc_sec_type(__le32 *__pdesc, u32 __val)
83
+{
84
+ le32p_replace_bits(__pdesc + 1, __val, GENMASK(23, 22));
85
+}
36686
367
-#define SET_TX_DESC_TX_BUFFER_SIZE(__pdesc, __val) \
368
- SET_BITS_TO_LE_4BYTE(__pdesc+28, 0, 16, __val)
369
-#define SET_TX_DESC_SW_OFFSET30(__pdesc, __val) \
370
- SET_BITS_TO_LE_4BYTE(__pdesc+28, 16, 8, __val)
371
-#define SET_TX_DESC_SW_OFFSET31(__pdesc, __val) \
372
- SET_BITS_TO_LE_4BYTE(__pdesc+28, 24, 4, __val)
373
-#define SET_TX_DESC_ANTSEL_C(__pdesc, __val) \
374
- SET_BITS_TO_LE_4BYTE(__pdesc+28, 29, 1, __val)
375
-#define SET_TX_DESC_NULL_0(__pdesc, __val) \
376
- SET_BITS_TO_LE_4BYTE(__pdesc+28, 30, 1, __val)
377
-#define SET_TX_DESC_NULL_1(__pdesc, __val) \
378
- SET_BITS_TO_LE_4BYTE(__pdesc+28, 30, 1, __val)
87
+static inline void set_tx_desc_pkt_offset(__le32 *__pdesc, u32 __val)
88
+{
89
+ le32p_replace_bits(__pdesc + 1, __val, GENMASK(30, 26));
90
+}
37991
380
-#define GET_TX_DESC_TX_BUFFER_SIZE(__pdesc) \
381
- LE_BITS_TO_4BYTE(__pdesc+28, 0, 16)
92
+static inline void set_tx_desc_agg_enable(__le32 *__pdesc, u32 __val)
93
+{
94
+ le32p_replace_bits(__pdesc + 2, __val, BIT(12));
95
+}
38296
383
-#define SET_TX_DESC_TX_BUFFER_ADDRESS(__pdesc, __val) \
384
- SET_BITS_TO_LE_4BYTE(__pdesc+32, 0, 32, __val)
385
-#define SET_TX_DESC_TX_BUFFER_ADDRESS64(__pdesc, __val) \
386
- SET_BITS_TO_LE_4BYTE(__pdesc+36, 0, 32, __val)
97
+static inline void set_tx_desc_rdg_enable(__le32 *__pdesc, u32 __val)
98
+{
99
+ le32p_replace_bits(__pdesc + 2, __val, BIT(13));
100
+}
387101
388
-#define GET_TX_DESC_TX_BUFFER_ADDRESS(__pdesc) \
389
- LE_BITS_TO_4BYTE(__pdesc+32, 0, 32)
390
-#define GET_TX_DESC_TX_BUFFER_ADDRESS64(__pdesc) \
391
- LE_BITS_TO_4BYTE(__pdesc+36, 0, 32)
102
+static inline void set_tx_desc_more_frag(__le32 *__pdesc, u32 __val)
103
+{
104
+ le32p_replace_bits(__pdesc + 2, __val, BIT(17));
105
+}
392106
393
-#define SET_TX_DESC_NEXT_DESC_ADDRESS(__pdesc, __val) \
394
- SET_BITS_TO_LE_4BYTE(__pdesc+40, 0, 32, __val)
395
-#define SET_TX_DESC_NEXT_DESC_ADDRESS64(__pdesc, __val) \
396
- SET_BITS_TO_LE_4BYTE(__pdesc+44, 0, 32, __val)
107
+static inline void set_tx_desc_ampdu_density(__le32 *__pdesc, u32 __val)
108
+{
109
+ le32p_replace_bits(__pdesc + 2, __val, GENMASK(22, 20));
110
+}
397111
398
-#define GET_TX_DESC_NEXT_DESC_ADDRESS(__pdesc) \
399
- LE_BITS_TO_4BYTE(__pdesc+40, 0, 32)
400
-#define GET_TX_DESC_NEXT_DESC_ADDRESS64(__pdesc) \
401
- LE_BITS_TO_4BYTE(__pdesc+44, 0, 32)
112
+static inline void set_tx_desc_antsel_a(__le32 *__pdesc, u32 __val)
113
+{
114
+ le32p_replace_bits(__pdesc + 2, __val, BIT(24));
115
+}
402116
403
-#define GET_RX_DESC_PKT_LEN(__pdesc) \
404
- LE_BITS_TO_4BYTE(__pdesc, 0, 14)
405
-#define GET_RX_DESC_CRC32(__pdesc) \
406
- LE_BITS_TO_4BYTE(__pdesc, 14, 1)
407
-#define GET_RX_DESC_ICV(__pdesc) \
408
- LE_BITS_TO_4BYTE(__pdesc, 15, 1)
409
-#define GET_RX_DESC_DRV_INFO_SIZE(__pdesc) \
410
- LE_BITS_TO_4BYTE(__pdesc, 16, 4)
411
-#define GET_RX_DESC_SECURITY(__pdesc) \
412
- LE_BITS_TO_4BYTE(__pdesc, 20, 3)
413
-#define GET_RX_DESC_QOS(__pdesc) \
414
- LE_BITS_TO_4BYTE(__pdesc, 23, 1)
415
-#define GET_RX_DESC_SHIFT(__pdesc) \
416
- LE_BITS_TO_4BYTE(__pdesc, 24, 2)
417
-#define GET_RX_DESC_PHYST(__pdesc) \
418
- LE_BITS_TO_4BYTE(__pdesc, 26, 1)
419
-#define GET_RX_DESC_SWDEC(__pdesc) \
420
- LE_BITS_TO_4BYTE(__pdesc, 27, 1)
421
-#define GET_RX_DESC_LS(__pdesc) \
422
- LE_BITS_TO_4BYTE(__pdesc, 28, 1)
423
-#define GET_RX_DESC_FS(__pdesc) \
424
- LE_BITS_TO_4BYTE(__pdesc, 29, 1)
425
-#define GET_RX_DESC_EOR(__pdesc) \
426
- LE_BITS_TO_4BYTE(__pdesc, 30, 1)
427
-#define GET_RX_DESC_OWN(__pdesc) \
428
- LE_BITS_TO_4BYTE(__pdesc, 31, 1)
117
+static inline void set_tx_desc_antsel_b(__le32 *__pdesc, u32 __val)
118
+{
119
+ le32p_replace_bits(__pdesc + 2, __val, BIT(25));
120
+}
429121
430
-#define SET_RX_DESC_PKT_LEN(__pdesc, __val) \
431
- SET_BITS_TO_LE_4BYTE(__pdesc, 0, 14, __val)
432
-#define SET_RX_DESC_EOR(__pdesc, __val) \
433
- SET_BITS_TO_LE_4BYTE(__pdesc, 30, 1, __val)
434
-#define SET_RX_DESC_OWN(__pdesc, __val) \
435
- SET_BITS_TO_LE_4BYTE(__pdesc, 31, 1, __val)
122
+static inline void set_tx_desc_seq(__le32 *__pdesc, u32 __val)
123
+{
124
+ le32p_replace_bits(__pdesc + 3, __val, GENMASK(27, 16));
125
+}
436126
437
-#define GET_RX_DESC_MACID(__pdesc) \
438
- LE_BITS_TO_4BYTE(__pdesc+4, 0, 6)
439
-#define GET_RX_DESC_PAGGR(__pdesc) \
440
- LE_BITS_TO_4BYTE(__pdesc+4, 14, 1)
441
-#define GET_RX_DESC_FAGGR(__pdesc) \
442
- LE_BITS_TO_4BYTE(__pdesc+4, 15, 1)
443
-#define GET_RX_DESC_A1_FIT(__pdesc) \
444
- LE_BITS_TO_4BYTE(__pdesc+4, 16, 4)
445
-#define GET_RX_DESC_A2_FIT(__pdesc) \
446
- LE_BITS_TO_4BYTE(__pdesc+4, 20, 4)
447
-#define GET_RX_DESC_PAM(__pdesc) \
448
- LE_BITS_TO_4BYTE(__pdesc+4, 24, 1)
449
-#define GET_RX_DESC_PWR(__pdesc) \
450
- LE_BITS_TO_4BYTE(__pdesc+4, 25, 1)
451
-#define GET_RX_DESC_MD(__pdesc) \
452
- LE_BITS_TO_4BYTE(__pdesc+4, 26, 1)
453
-#define GET_RX_DESC_MF(__pdesc) \
454
- LE_BITS_TO_4BYTE(__pdesc+4, 27, 1)
455
-#define GET_RX_DESC_TYPE(__pdesc) \
456
- LE_BITS_TO_4BYTE(__pdesc+4, 28, 2)
457
-#define GET_RX_DESC_MC(__pdesc) \
458
- LE_BITS_TO_4BYTE(__pdesc+4, 30, 1)
459
-#define GET_RX_DESC_BC(__pdesc) \
460
- LE_BITS_TO_4BYTE(__pdesc+4, 31, 1)
461
-#define GET_RX_DESC_SEQ(__pdesc) \
462
- LE_BITS_TO_4BYTE(__pdesc+8, 0, 12)
463
-#define GET_RX_DESC_FRAG(__pdesc) \
464
- LE_BITS_TO_4BYTE(__pdesc+8, 12, 4)
127
+static inline void set_tx_desc_hwseq_en(__le32 *__pdesc, u32 __val)
128
+{
129
+ le32p_replace_bits(__pdesc + 3, __val, BIT(31));
130
+}
465131
466
-#define GET_RX_DESC_RXMCS(__pdesc) \
467
- LE_BITS_TO_4BYTE(__pdesc+12, 0, 6)
468
-#define GET_RX_DESC_RXHT(__pdesc) \
469
- LE_BITS_TO_4BYTE(__pdesc+12, 6, 1)
470
-#define GET_RX_STATUS_DESC_RX_GF(__pdesc) \
471
- LE_BITS_TO_4BYTE(__pdesc+12, 7, 1)
472
-#define GET_RX_DESC_SPLCP(__pdesc) \
473
- LE_BITS_TO_4BYTE(__pdesc+12, 8, 1)
474
-#define GET_RX_DESC_BW(__pdesc) \
475
- LE_BITS_TO_4BYTE(__pdesc+12, 9, 1)
476
-#define GET_RX_DESC_HTC(__pdesc) \
477
- LE_BITS_TO_4BYTE(__pdesc+12, 10, 1)
478
-#define GET_RX_STATUS_DESC_EOSP(__pdesc) \
479
- LE_BITS_TO_4BYTE(__pdesc+12, 11, 1)
480
-#define GET_RX_STATUS_DESC_BSSID_FIT(__pdesc) \
481
- LE_BITS_TO_4BYTE(__pdesc+12, 12, 2)
482
-#define GET_RX_STATUS_DESC_RPT_SEL(__pdesc) \
483
- LE_BITS_TO_4BYTE(__pdesc+12, 14, 2)
132
+static inline void set_tx_desc_rts_rate(__le32 *__pdesc, u32 __val)
133
+{
134
+ le32p_replace_bits(__pdesc + 4, __val, GENMASK(4, 0));
135
+}
484136
485
-#define GET_RX_STATUS_DESC_PATTERN_MATCH(__pdesc) \
486
- LE_BITS_TO_4BYTE(__pdesc+12, 29, 1)
487
-#define GET_RX_STATUS_DESC_UNICAST_MATCH(__pdesc) \
488
- LE_BITS_TO_4BYTE(__pdesc+12, 30, 1)
489
-#define GET_RX_STATUS_DESC_MAGIC_MATCH(__pdesc) \
490
- LE_BITS_TO_4BYTE(__pdesc+12, 31, 1)
137
+static inline void set_tx_desc_qos(__le32 *__pdesc, u32 __val)
138
+{
139
+ le32p_replace_bits(__pdesc + 4, __val, BIT(6));
140
+}
491141
492
-#define GET_RX_DESC_IV1(__pdesc) \
493
- LE_BITS_TO_4BYTE(__pdesc+16, 0, 32)
494
-#define GET_RX_DESC_TSFL(__pdesc) \
495
- LE_BITS_TO_4BYTE(__pdesc+20, 0, 32)
142
+static inline void set_tx_desc_use_rate(__le32 *__pdesc, u32 __val)
143
+{
144
+ le32p_replace_bits(__pdesc + 4, __val, BIT(8));
145
+}
496146
497
-#define GET_RX_DESC_BUFF_ADDR(__pdesc) \
498
- LE_BITS_TO_4BYTE(__pdesc+24, 0, 32)
499
-#define GET_RX_DESC_BUFF_ADDR64(__pdesc) \
500
- LE_BITS_TO_4BYTE(__pdesc+28, 0, 32)
147
+static inline void set_tx_desc_disable_fb(__le32 *__pdesc, u32 __val)
148
+{
149
+ le32p_replace_bits(__pdesc + 4, __val, BIT(10));
150
+}
501151
502
-#define SET_RX_DESC_BUFF_ADDR(__pdesc, __val) \
503
- SET_BITS_TO_LE_4BYTE(__pdesc+24, 0, 32, __val)
504
-#define SET_RX_DESC_BUFF_ADDR64(__pdesc, __val) \
505
- SET_BITS_TO_LE_4BYTE(__pdesc+28, 0, 32, __val)
152
+static inline void set_tx_desc_cts2self(__le32 *__pdesc, u32 __val)
153
+{
154
+ le32p_replace_bits(__pdesc + 4, __val, BIT(11));
155
+}
156
+
157
+static inline void set_tx_desc_rts_enable(__le32 *__pdesc, u32 __val)
158
+{
159
+ le32p_replace_bits(__pdesc + 4, __val, BIT(12));
160
+}
161
+
162
+static inline void set_tx_desc_hw_rts_enable(__le32 *__pdesc, u32 __val)
163
+{
164
+ le32p_replace_bits(__pdesc + 4, __val, BIT(13));
165
+}
166
+
167
+static inline void set_tx_desc_tx_sub_carrier(__le32 *__pdesc, u32 __val)
168
+{
169
+ le32p_replace_bits(__pdesc + 4, __val, GENMASK(21, 20));
170
+}
171
+
172
+static inline void set_tx_desc_tx_stbc(__le32 *__pdesc, u32 __val)
173
+{
174
+ le32p_replace_bits(__pdesc + 4, __val, GENMASK(23, 22));
175
+}
176
+
177
+static inline void set_tx_desc_data_bw(__le32 *__pdesc, u32 __val)
178
+{
179
+ le32p_replace_bits(__pdesc + 4, __val, BIT(25));
180
+}
181
+
182
+static inline void set_tx_desc_rts_short(__le32 *__pdesc, u32 __val)
183
+{
184
+ le32p_replace_bits(__pdesc + 4, __val, BIT(26));
185
+}
186
+
187
+static inline void set_tx_desc_rts_bw(__le32 *__pdesc, u32 __val)
188
+{
189
+ le32p_replace_bits(__pdesc + 4, __val, BIT(27));
190
+}
191
+
192
+static inline void set_tx_desc_rts_sc(__le32 *__pdesc, u32 __val)
193
+{
194
+ le32p_replace_bits(__pdesc + 4, __val, GENMASK(29, 28));
195
+}
196
+
197
+static inline void set_tx_desc_rts_stbc(__le32 *__pdesc, u32 __val)
198
+{
199
+ le32p_replace_bits(__pdesc + 4, __val, GENMASK(31, 30));
200
+}
201
+
202
+static inline void set_tx_desc_tx_rate(__le32 *__pdesc, u32 __val)
203
+{
204
+ le32p_replace_bits(__pdesc + 5, __val, GENMASK(5, 0));
205
+}
206
+
207
+static inline void set_tx_desc_data_shortgi(__le32 *__pdesc, u32 __val)
208
+{
209
+ le32p_replace_bits(__pdesc + 5, __val, BIT(6));
210
+}
211
+
212
+static inline void set_tx_desc_data_rate_fb_limit(__le32 *__pdesc, u32 __val)
213
+{
214
+ le32p_replace_bits(__pdesc + 5, __val, GENMASK(12, 8));
215
+}
216
+
217
+static inline void set_tx_desc_rts_rate_fb_limit(__le32 *__pdesc, u32 __val)
218
+{
219
+ le32p_replace_bits(__pdesc + 5, __val, GENMASK(16, 13));
220
+}
221
+
222
+static inline void set_tx_desc_max_agg_num(__le32 *__pdesc, u32 __val)
223
+{
224
+ le32p_replace_bits(__pdesc + 6, __val, GENMASK(15, 11));
225
+}
226
+
227
+static inline void set_tx_desc_antsel_c(__le32 *__pdesc, u32 __val)
228
+{
229
+ le32p_replace_bits(__pdesc + 7, __val, BIT(29));
230
+}
231
+
232
+static inline void set_tx_desc_tx_buffer_size(__le32 *__pdesc, u32 __val)
233
+{
234
+ le32p_replace_bits(__pdesc + 7, __val, GENMASK(15, 0));
235
+}
236
+
237
+static inline int get_tx_desc_tx_buffer_size(__le32 *__pdesc)
238
+{
239
+ return le32_get_bits(*(__pdesc + 7), GENMASK(15, 0));
240
+}
241
+
242
+static inline void set_tx_desc_tx_buffer_address(__le32 *__pdesc, u32 __val)
243
+{
244
+ *(__pdesc + 8) = cpu_to_le32(__val);
245
+}
246
+
247
+static inline u32 get_tx_desc_tx_buffer_address(__le32 *__pdesc)
248
+{
249
+ return le32_to_cpu(*(__pdesc + 8));
250
+}
251
+
252
+static inline void set_tx_desc_next_desc_address(__le32 *__pdesc, u32 __val)
253
+{
254
+ *(__pdesc + 10) = cpu_to_le32(__val);
255
+}
256
+
257
+static inline int get_rx_desc_pkt_len(__le32 *__pdesc)
258
+{
259
+ return le32_get_bits(*(__pdesc), GENMASK(13, 0));
260
+}
261
+
262
+static inline int get_rx_desc_crc32(__le32 *__pdesc)
263
+{
264
+ return le32_get_bits(*(__pdesc), BIT(14));
265
+}
266
+
267
+static inline int get_rx_desc_icv(__le32 *__pdesc)
268
+{
269
+ return le32_get_bits(*(__pdesc), BIT(15));
270
+}
271
+
272
+static inline int get_rx_desc_drv_info_size(__le32 *__pdesc)
273
+{
274
+ return le32_get_bits(*(__pdesc), GENMASK(19, 16));
275
+}
276
+
277
+static inline int get_rx_desc_security(__le32 *__pdesc)
278
+{
279
+ return le32_get_bits(*(__pdesc), GENMASK(22, 20));
280
+}
281
+
282
+static inline int get_rx_desc_qos(__le32 *__pdesc)
283
+{
284
+ return le32_get_bits(*(__pdesc), BIT(23));
285
+}
286
+
287
+static inline int get_rx_desc_shift(__le32 *__pdesc)
288
+{
289
+ return le32_get_bits(*(__pdesc), GENMASK(25, 24));
290
+}
291
+
292
+static inline int get_rx_desc_physt(__le32 *__pdesc)
293
+{
294
+ return le32_get_bits(*(__pdesc), BIT(26));
295
+}
296
+
297
+static inline int get_rx_desc_swdec(__le32 *__pdesc)
298
+{
299
+ return le32_get_bits(*(__pdesc), BIT(27));
300
+}
301
+
302
+static inline int get_rx_desc_ls(__le32 *__pdesc)
303
+{
304
+ return le32_get_bits(*(__pdesc), BIT(28));
305
+}
306
+
307
+static inline int get_rx_desc_fs(__le32 *__pdesc)
308
+{
309
+ return le32_get_bits(*(__pdesc), BIT(29));
310
+}
311
+
312
+static inline int get_rx_desc_eor(__le32 *__pdesc)
313
+{
314
+ return le32_get_bits(*(__pdesc), BIT(30));
315
+}
316
+
317
+static inline int get_rx_desc_own(__le32 *__pdesc)
318
+{
319
+ return le32_get_bits(*(__pdesc), BIT(31));
320
+}
321
+
322
+static inline void set_rx_desc_pkt_len(__le32 *__pdesc, u32 __val)
323
+{
324
+ le32p_replace_bits(__pdesc, __val, GENMASK(13, 0));
325
+}
326
+
327
+static inline void set_rx_desc_eor(__le32 *__pdesc, u32 __val)
328
+{
329
+ le32p_replace_bits(__pdesc, __val, BIT(30));
330
+}
331
+
332
+static inline void set_rx_desc_own(__le32 *__pdesc, u32 __val)
333
+{
334
+ le32p_replace_bits(__pdesc, __val, BIT(31));
335
+}
336
+
337
+static inline int get_rx_desc_macid(__le32 *__pdesc)
338
+{
339
+ return le32_get_bits(*(__pdesc + 1), GENMASK(5, 0));
340
+}
341
+
342
+static inline int get_rx_desc_paggr(__le32 *__pdesc)
343
+{
344
+ return le32_get_bits(*(__pdesc + 1), BIT(14));
345
+}
346
+
347
+static inline int get_rx_desc_faggr(__le32 *__pdesc)
348
+{
349
+ return le32_get_bits(*(__pdesc + 1), BIT(15));
350
+}
351
+
352
+static inline int get_rx_desc_a1_fit(__le32 *__pdesc)
353
+{
354
+ return le32_get_bits(*(__pdesc + 1), GENMASK(19, 16));
355
+}
356
+
357
+static inline int get_rx_desc_a2_fit(__le32 *__pdesc)
358
+{
359
+ return le32_get_bits(*(__pdesc + 1), GENMASK(23, 20));
360
+}
361
+
362
+static inline int get_rx_desc_pam(__le32 *__pdesc)
363
+{
364
+ return le32_get_bits(*(__pdesc + 1), BIT(24));
365
+}
366
+
367
+static inline int get_rx_desc_pwr(__le32 *__pdesc)
368
+{
369
+ return le32_get_bits(*(__pdesc + 1), BIT(25));
370
+}
371
+
372
+static inline int get_rx_desc_md(__le32 *__pdesc)
373
+{
374
+ return le32_get_bits(*(__pdesc + 1), BIT(26));
375
+}
376
+
377
+static inline int get_rx_desc_mf(__le32 *__pdesc)
378
+{
379
+ return le32_get_bits(*(__pdesc + 1), BIT(27));
380
+}
381
+
382
+static inline int get_rx_desc_type(__le32 *__pdesc)
383
+{
384
+ return le32_get_bits(*(__pdesc + 1), GENMASK(29, 28));
385
+}
386
+
387
+static inline int get_rx_desc_mc(__le32 *__pdesc)
388
+{
389
+ return le32_get_bits(*(__pdesc + 1), BIT(30));
390
+}
391
+
392
+static inline int get_rx_desc_bc(__le32 *__pdesc)
393
+{
394
+ return le32_get_bits(*(__pdesc + 1), BIT(31));
395
+}
396
+
397
+static inline int get_rx_desc_seq(__le32 *__pdesc)
398
+{
399
+ return le32_get_bits(*(__pdesc + 2), GENMASK(11, 0));
400
+}
401
+
402
+static inline int get_rx_desc_frag(__le32 *__pdesc)
403
+{
404
+ return le32_get_bits(*(__pdesc + 2), GENMASK(15, 12));
405
+}
406
+
407
+static inline int get_rx_desc_rxmcs(__le32 *__pdesc)
408
+{
409
+ return le32_get_bits(*(__pdesc + 3), GENMASK(5, 0));
410
+}
411
+
412
+static inline int get_rx_desc_rxht(__le32 *__pdesc)
413
+{
414
+ return le32_get_bits(*(__pdesc + 3), BIT(6));
415
+}
416
+
417
+static inline int get_rx_status_desc_rx_gf(__le32 *__pdesc)
418
+{
419
+ return le32_get_bits(*(__pdesc + 3), BIT(7));
420
+}
421
+
422
+static inline int get_rx_desc_splcp(__le32 *__pdesc)
423
+{
424
+ return le32_get_bits(*(__pdesc + 3), BIT(8));
425
+}
426
+
427
+static inline int get_rx_desc_bw(__le32 *__pdesc)
428
+{
429
+ return le32_get_bits(*(__pdesc + 3), BIT(9));
430
+}
431
+
432
+static inline int get_rx_desc_htc(__le32 *__pdesc)
433
+{
434
+ return le32_get_bits(*(__pdesc + 3), BIT(10));
435
+}
436
+
437
+static inline int get_rx_status_desc_eosp(__le32 *__pdesc)
438
+{
439
+ return le32_get_bits(*(__pdesc + 3), BIT(11));
440
+}
441
+
442
+static inline int get_rx_status_desc_bssid_fit(__le32 *__pdesc)
443
+{
444
+ return le32_get_bits(*(__pdesc + 3), GENMASK(13, 12));
445
+}
446
+
447
+static inline int get_rx_status_desc_rpt_sel(__le32 *__pdesc)
448
+{
449
+ return le32_get_bits(*(__pdesc + 3), GENMASK(15, 14));
450
+}
451
+
452
+static inline int get_rx_status_desc_pattern_match(__le32 *__pdesc)
453
+{
454
+ return le32_get_bits(*(__pdesc + 3), BIT(29));
455
+}
456
+
457
+static inline int get_rx_status_desc_unicast_match(__le32 *__pdesc)
458
+{
459
+ return le32_get_bits(*(__pdesc + 3), BIT(30));
460
+}
461
+
462
+static inline int get_rx_status_desc_magic_match(__le32 *__pdesc)
463
+{
464
+ return le32_get_bits(*(__pdesc + 3), BIT(31));
465
+}
466
+
467
+static inline u32 get_rx_desc_iv1(__le32 *__pdesc)
468
+{
469
+ return le32_to_cpu(*(__pdesc + 4));
470
+}
471
+
472
+static inline u32 get_rx_desc_tsfl(__le32 *__pdesc)
473
+{
474
+ return le32_to_cpu(*(__pdesc + 5));
475
+}
476
+
477
+static inline u32 get_rx_desc_buff_addr(__le32 *__pdesc)
478
+{
479
+ return le32_to_cpu(*(__pdesc + 6));
480
+}
481
+
482
+static inline u32 get_rx_desc_buff_addr64(__le32 *__pdesc)
483
+{
484
+ return le32_to_cpu(*(__pdesc + 7));
485
+}
486
+
487
+static inline void set_rx_desc_buff_addr(__le32 *__pdesc, u32 __val)
488
+{
489
+ *(__pdesc + 6) = cpu_to_le32(__val);
490
+}
491
+
492
+static inline void set_rx_desc_buff_addr64(__le32 *__pdesc, u32 __val)
493
+{
494
+ *(__pdesc + 7) = cpu_to_le32(__val);
495
+}
506496
507497 /* TX report 2 format in Rx desc*/
508498
509
-#define GET_RX_RPT2_DESC_PKT_LEN(__status) \
510
- LE_BITS_TO_4BYTE(__status, 0, 9)
511
-#define GET_RX_RPT2_DESC_MACID_VALID_1(__status) \
512
- LE_BITS_TO_4BYTE(__status+16, 0, 32)
513
-#define GET_RX_RPT2_DESC_MACID_VALID_2(__status) \
514
- LE_BITS_TO_4BYTE(__status+20, 0, 32)
499
+static inline int get_rx_rpt2_desc_pkt_len(__le32 *__status)
500
+{
501
+ return le32_get_bits(*(__status), GENMASK(8, 0));
502
+}
515503
516
-#define SET_EARLYMODE_PKTNUM(__paddr, __value) \
517
- SET_BITS_TO_LE_4BYTE(__paddr, 0, 4, __value)
518
-#define SET_EARLYMODE_LEN0(__paddr, __value) \
519
- SET_BITS_TO_LE_4BYTE(__paddr, 4, 12, __value)
520
-#define SET_EARLYMODE_LEN1(__paddr, __value) \
521
- SET_BITS_TO_LE_4BYTE(__paddr, 16, 12, __value)
522
-#define SET_EARLYMODE_LEN2_1(__paddr, __value) \
523
- SET_BITS_TO_LE_4BYTE(__paddr, 28, 4, __value)
524
-#define SET_EARLYMODE_LEN2_2(__paddr, __value) \
525
- SET_BITS_TO_LE_4BYTE(__paddr+4, 0, 8, __value)
526
-#define SET_EARLYMODE_LEN3(__paddr, __value) \
527
- SET_BITS_TO_LE_4BYTE(__paddr+4, 8, 12, __value)
528
-#define SET_EARLYMODE_LEN4(__paddr, __value) \
529
- SET_BITS_TO_LE_4BYTE(__paddr+4, 20, 12, __value)
504
+static inline u32 get_rx_rpt2_desc_macid_valid_1(__le32 *__status)
505
+{
506
+ return le32_to_cpu(*(__status + 4));
507
+}
530508
531
-#define CLEAR_PCI_TX_DESC_CONTENT(__pdesc, _size) \
532
-do { \
533
- if (_size > TX_DESC_NEXT_DESC_OFFSET) \
534
- memset(__pdesc, 0, TX_DESC_NEXT_DESC_OFFSET); \
535
- else \
536
- memset(__pdesc, 0, _size); \
537
-} while (0)
509
+static inline u32 get_rx_rpt2_desc_macid_valid_2(__le32 *__status)
510
+{
511
+ return le32_to_cpu(*(__status + 5));
512
+}
513
+
514
+static inline void set_earlymode_pktnum(__le32 *__paddr, u32 __value)
515
+{
516
+ le32p_replace_bits(__paddr, __value, GENMASK(3, 0));
517
+}
518
+
519
+static inline void set_earlymode_len0(__le32 *__paddr, u32 __value)
520
+{
521
+ le32p_replace_bits(__paddr, __value, GENMASK(15, 4));
522
+}
523
+
524
+static inline void set_earlymode_len1(__le32 *__paddr, u32 __value)
525
+{
526
+ le32p_replace_bits(__paddr, __value, GENMASK(27, 16));
527
+}
528
+
529
+static inline void set_earlymode_len2_1(__le32 *__paddr, u32 __value)
530
+{
531
+ le32p_replace_bits(__paddr, __value, GENMASK(31, 28));
532
+}
533
+
534
+static inline void set_earlymode_len2_2(__le32 *__paddr, u32 __value)
535
+{
536
+ le32p_replace_bits(__paddr + 1, __value, GENMASK(7, 0));
537
+}
538
+
539
+static inline void set_earlymode_len3(__le32 *__paddr, u32 __value)
540
+{
541
+ le32p_replace_bits(__paddr + 1, __value, GENMASK(19, 8));
542
+}
543
+
544
+static inline void set_earlymode_len4(__le32 *__paddr, u32 __value)
545
+{
546
+ le32p_replace_bits(__paddr + 1, __value, GENMASK(31, 20));
547
+}
548
+
549
+static inline void clear_pci_tx_desc_content(__le32 *__pdesc, int _size)
550
+{
551
+ if (_size > TX_DESC_NEXT_DESC_OFFSET)
552
+ memset(__pdesc, 0, TX_DESC_NEXT_DESC_OFFSET);
553
+ else
554
+ memset(__pdesc, 0, _size);
555
+}
538556
539557 #define RTL8188_RX_HAL_IS_CCK_RATE(rxmcs)\
540558 (rxmcs == DESC92C_RATE1M ||\
....@@ -542,17 +560,8 @@
542560 rxmcs == DESC92C_RATE5_5M ||\
543561 rxmcs == DESC92C_RATE11M)
544562
545
-#define IS_LITTLE_ENDIAN 1
546
-
547
-struct phy_rx_agc_info_t {
548
- #if IS_LITTLE_ENDIAN
549
- u8 gain:7, trsw:1;
550
- #else
551
- u8 trsw:1, gain:7;
552
- #endif
553
-};
554563 struct phy_status_rpt {
555
- struct phy_rx_agc_info_t path_agc[2];
564
+ u8 padding[2];
556565 u8 ch_corr[2];
557566 u8 cck_sig_qual_ofdm_pwdb_all;
558567 u8 cck_agc_rpt_ofdm_cfosho_a;
....@@ -569,7 +578,7 @@
569578 u8 stream_target_csi[2];
570579 u8 sig_evm;
571580 u8 rsvd_3;
572
-#if IS_LITTLE_ENDIAN
581
+#if defined(__LITTLE_ENDIAN)
573582 u8 antsel_rx_keep_2:1; /*ex_intf_flg:1;*/
574583 u8 sgi_en:1;
575584 u8 rxsc:2;
....@@ -577,7 +586,7 @@
577586 u8 r_ant_train_en:1;
578587 u8 ant_sel_b:1;
579588 u8 ant_sel:1;
580
-#else /* _BIG_ENDIAN_ */
589
+#else /* __BIG_ENDIAN */
581590 u8 ant_sel:1;
582591 u8 ant_sel_b:1;
583592 u8 r_ant_train_en:1;