forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-02-19 1c055e55a242a33e574e48be530e06770a210dcd
kernel/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h
....@@ -1,26 +1,5 @@
1
-/******************************************************************************
2
- *
3
- * Copyright(c) 2009-2010 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
- * Larry Finger <Larry.Finger@lwfinger.net>
22
- *
23
- *****************************************************************************/
1
+/* SPDX-License-Identifier: GPL-2.0 */
2
+/* Copyright(c) 2009-2010 Realtek Corporation.*/
243
254 #ifndef __RTL8821AE__FW__H__
265 #define __RTL8821AE__FW__H__
....@@ -172,123 +151,115 @@
172151 #define pagenum_128(_len) (u32)(((_len)>>7) + ((_len)&0x7F ? 1 : 0))
173152
174153 #define SET_8812_H2CCMD_WOWLAN_FUNC_ENABLE(__cmd, __value) \
175
- SET_BITS_TO_LE_1BYTE(__cmd, 0, 1, __value)
154
+ u8p_replace_bits(__cmd, __value, BIT(0))
176155 #define SET_8812_H2CCMD_WOWLAN_PATTERN_MATCH_ENABLE(__cmd, __value) \
177
- SET_BITS_TO_LE_1BYTE(__cmd, 1, 1, __value)
156
+ u8p_replace_bits(__cmd, __value, BIT(1))
178157 #define SET_8812_H2CCMD_WOWLAN_MAGIC_PKT_ENABLE(__cmd, __value) \
179
- SET_BITS_TO_LE_1BYTE(__cmd, 2, 1, __value)
158
+ u8p_replace_bits(__cmd, __value, BIT(2))
180159 #define SET_8812_H2CCMD_WOWLAN_UNICAST_PKT_ENABLE(__cmd, __value) \
181
- SET_BITS_TO_LE_1BYTE(__cmd, 3, 1, __value)
160
+ u8p_replace_bits(__cmd, __value, BIT(3))
182161 #define SET_8812_H2CCMD_WOWLAN_ALL_PKT_DROP(__cmd, __value) \
183
- SET_BITS_TO_LE_1BYTE(__cmd, 4, 1, __value)
162
+ u8p_replace_bits(__cmd, __value, BIT(4))
184163 #define SET_8812_H2CCMD_WOWLAN_GPIO_ACTIVE(__cmd, __value) \
185
- SET_BITS_TO_LE_1BYTE(__cmd, 5, 1, __value)
164
+ u8p_replace_bits(__cmd, __value, BIT(5))
186165 #define SET_8812_H2CCMD_WOWLAN_REKEY_WAKE_UP(__cmd, __value) \
187
- SET_BITS_TO_LE_1BYTE(__cmd, 6, 1, __value)
166
+ u8p_replace_bits(__cmd, __value, BIT(6))
188167 #define SET_8812_H2CCMD_WOWLAN_DISCONNECT_WAKE_UP(__cmd, __value) \
189
- SET_BITS_TO_LE_1BYTE(__cmd, 7, 1, __value)
168
+ u8p_replace_bits(__cmd, __value, BIT(7))
190169 #define SET_8812_H2CCMD_WOWLAN_GPIONUM(__cmd, __value) \
191
- SET_BITS_TO_LE_1BYTE((__cmd) + 1, 0, 8, __value)
170
+ *(u8 *)(__cmd + 1) = __value
192171 #define SET_8812_H2CCMD_WOWLAN_GPIO_DURATION(__cmd, __value) \
193
- SET_BITS_TO_LE_1BYTE((__cmd) + 2, 0, 8, __value)
172
+ *(u8 *)(__cmd + 2) = __value
194173
195174 #define SET_H2CCMD_PWRMODE_PARM_MODE(__ph2ccmd, __val) \
196
- SET_BITS_TO_LE_1BYTE(__ph2ccmd, 0, 8, __val)
175
+ *(u8 *)__ph2ccmd = __val
197176 #define SET_H2CCMD_PWRMODE_PARM_RLBM(__cmd, __value) \
198
- SET_BITS_TO_LE_1BYTE((__cmd)+1, 0, 4, __value)
177
+ u8p_replace_bits(__cmd + 1, __value, GENMASK(3, 0))
199178 #define SET_H2CCMD_PWRMODE_PARM_SMART_PS(__cmd, __value) \
200
- SET_BITS_TO_LE_1BYTE((__cmd)+1, 4, 4, __value)
179
+ u8p_replace_bits(__cmd + 1, __value, GENMASK(7, 4))
201180 #define SET_H2CCMD_PWRMODE_PARM_AWAKE_INTERVAL(__cmd, __value) \
202
- SET_BITS_TO_LE_1BYTE((__cmd)+2, 0, 8, __value)
181
+ *(u8 *)(__cmd + 2) = __value
203182 #define SET_H2CCMD_PWRMODE_PARM_ALL_QUEUE_UAPSD(__cmd, __value) \
204
- SET_BITS_TO_LE_1BYTE((__cmd)+3, 0, 8, __value)
183
+ *(u8 *)(__cmd + 3) = __value
205184 #define SET_H2CCMD_PWRMODE_PARM_PWR_STATE(__cmd, __value) \
206
- SET_BITS_TO_LE_1BYTE((__cmd)+4, 0, 8, __value)
185
+ *(u8 *)(__cmd + 4) = __value
207186 #define SET_H2CCMD_PWRMODE_PARM_BYTE5(__cmd, __value) \
208
- SET_BITS_TO_LE_1BYTE((__cmd) + 5, 0, 8, __value)
209
-#define GET_8821AE_H2CCMD_PWRMODE_PARM_MODE(__cmd) \
210
- LE_BITS_TO_1BYTE(__cmd, 0, 8)
187
+ *(u8 *)(__cmd + 5) = __value
211188
212
-#define SET_H2CCMD_JOINBSSRPT_PARM_OPMODE(__ph2ccmd, __val) \
213
- SET_BITS_TO_LE_1BYTE(__ph2ccmd, 0, 8, __val)
214189 #define SET_H2CCMD_RSVDPAGE_LOC_PSPOLL(__ph2ccmd, __val) \
215
- SET_BITS_TO_LE_1BYTE((__ph2ccmd)+1, 0, 8, __val)
190
+ *(u8 *)(__ph2ccmd + 1) = __val
216191 #define SET_H2CCMD_RSVDPAGE_LOC_NULL_DATA(__ph2ccmd, __val) \
217
- SET_BITS_TO_LE_1BYTE((__ph2ccmd)+2, 0, 8, __val)
192
+ *(u8 *)(__ph2ccmd + 2) = __val
218193 #define SET_H2CCMD_RSVDPAGE_LOC_QOS_NULL_DATA(__ph2ccmd, __val) \
219
- SET_BITS_TO_LE_1BYTE((__ph2ccmd)+3, 0, 8, __val)
194
+ *(u8 *)(__ph2ccmd + 3) = __val
220195 #define SET_H2CCMD_RSVDPAGE_LOC_BT_QOS_NULL_DATA(__ph2ccmd, __val) \
221
- SET_BITS_TO_LE_1BYTE((__ph2ccmd) + 4, 0, 8, __val)
196
+ *(u8 *)(__ph2ccmd + 4) = __val
222197
223198 /* _MEDIA_STATUS_RPT_PARM_CMD1 */
224199 #define SET_H2CCMD_MSRRPT_PARM_OPMODE(__cmd, __value) \
225
- SET_BITS_TO_LE_1BYTE(__cmd, 0, 1, __value)
200
+ u8p_replace_bits(__cmd + 1, __value, BIT(0))
226201 #define SET_H2CCMD_MSRRPT_PARM_MACID_IND(__cmd, __value) \
227
- SET_BITS_TO_LE_1BYTE(__cmd, 1, 1, __value)
228
-#define SET_H2CCMD_MSRRPT_PARM_MACID(__cmd, __value) \
229
- SET_BITS_TO_LE_1BYTE(__cmd+1, 0, 8, __value)
230
-#define SET_H2CCMD_MSRRPT_PARM_MACID_END(__cmd, __value) \
231
- SET_BITS_TO_LE_1BYTE(__cmd+2, 0, 8, __value)
202
+ u8p_replace_bits(__cmd + 1, __value, BIT(1))
232203
233204 /* AP_OFFLOAD */
234205 #define SET_H2CCMD_AP_OFFLOAD_ON(__cmd, __value) \
235
- SET_BITS_TO_LE_1BYTE(__cmd, 0, 8, __value)
206
+ *(u8 *)__cmd = __value
236207 #define SET_H2CCMD_AP_OFFLOAD_HIDDEN(__cmd, __value) \
237
- SET_BITS_TO_LE_1BYTE((__cmd)+1, 0, 8, __value)
208
+ *(u8 *)(__cmd + 1) = __value
238209 #define SET_H2CCMD_AP_OFFLOAD_DENYANY(__cmd, __value) \
239
- SET_BITS_TO_LE_1BYTE((__cmd)+2, 0, 8, __value)
210
+ *(u8 *)(__cmd + 2) = __value
240211 #define SET_H2CCMD_AP_OFFLOAD_WAKEUP_EVT_RPT(__cmd, __value) \
241
- SET_BITS_TO_LE_1BYTE((__cmd)+3, 0, 8, __value)
212
+ *(u8 *)(__cmd + 3) = __value
242213
243214 /* Keep Alive Control*/
244215 #define SET_8812_H2CCMD_KEEP_ALIVE_ENABLE(__cmd, __value) \
245
- SET_BITS_TO_LE_1BYTE(__cmd, 0, 1, __value)
216
+ u8p_replace_bits(__cmd, __value, BIT(0))
246217 #define SET_8812_H2CCMD_KEEP_ALIVE_ACCPEPT_USER_DEFINED(__cmd, __value) \
247
- SET_BITS_TO_LE_1BYTE(__cmd, 1, 1, __value)
218
+ u8p_replace_bits(__cmd, __value, BIT(1))
248219 #define SET_8812_H2CCMD_KEEP_ALIVE_PERIOD(__cmd, __value) \
249
- SET_BITS_TO_LE_1BYTE((__cmd)+1, 0, 8, __value)
220
+ *(u8 *)(__cmd + 1) = __value
250221
251222 /*REMOTE_WAKE_CTRL */
252223 #define SET_8812_H2CCMD_REMOTE_WAKECTRL_ENABLE(__cmd, __value) \
253
- SET_BITS_TO_LE_1BYTE(__cmd, 0, 1, __value)
224
+ u8p_replace_bits(__cmd, __value, BIT(0))
254225 #define SET_8812_H2CCMD_REMOTE_WAKE_CTRL_ARP_OFFLOAD_EN(__cmd, __value)\
255
- SET_BITS_TO_LE_1BYTE(__cmd, 1, 1, __value)
226
+ u8p_replace_bits(__cmd, __value, BIT(1))
256227 #define SET_8812_H2CCMD_REMOTE_WAKE_CTRL_NDP_OFFLOAD_EN(__cmd, __value)\
257
- SET_BITS_TO_LE_1BYTE(__cmd, 2, 1, __value)
228
+ u8p_replace_bits(__cmd, __value, BIT(2))
258229 #define SET_8812_H2CCMD_REMOTE_WAKE_CTRL_GTK_OFFLOAD_EN(__cmd, __value)\
259
- SET_BITS_TO_LE_1BYTE(__cmd, 3, 1, __value)
230
+ u8p_replace_bits(__cmd, __value, BIT(3))
260231 #define SET_8812_H2CCMD_REMOTE_WAKE_CTRL_REALWOWV2_EN(__cmd, __value)\
261
- SET_BITS_TO_LE_1BYTE(__cmd, 6, 1, __value)
232
+ u8p_replace_bits(__cmd, __value, BIT(6))
262233
263234 /* GTK_OFFLOAD */
264235 #define SET_8812_H2CCMD_AOAC_GLOBAL_INFO_PAIRWISE_ENC_ALG(__cmd, __value)\
265
- SET_BITS_TO_LE_1BYTE(__cmd, 0, 8, __value)
236
+ *(u8 *)__cmd = __value
266237 #define SET_8812_H2CCMD_AOAC_GLOBAL_INFO_GROUP_ENC_ALG(__cmd, __value) \
267
- SET_BITS_TO_LE_1BYTE((__cmd)+1, 0, 8, __value)
238
+ *(u8 *)(__cmd + 1) = __value
268239
269240 /* AOAC_RSVDPAGE_LOC */
270241 #define SET_8821AE_H2CCMD_AOAC_RSVDPAGE_LOC_REMOTE_WAKE_CTRL_INFO(__cmd, __value) \
271
- SET_BITS_TO_LE_1BYTE((__cmd), 0, 8, __value)
242
+ *(u8 *)__cmd = __value
272243 #define SET_8821AE_H2CCMD_AOAC_RSVDPAGE_LOC_ARP_RSP(__cmd, __value) \
273
- SET_BITS_TO_LE_1BYTE((__cmd)+1, 0, 8, __value)
244
+ *(u8 *)(__cmd + 1) = __value
274245 #define SET_8821AE_H2CCMD_AOAC_RSVDPAGE_LOC_NEIGHBOR_ADV(__cmd, __value)\
275
- SET_BITS_TO_LE_1BYTE((__cmd)+2, 0, 8, __value)
246
+ *(u8 *)(__cmd + 2) = __value
276247 #define SET_8821AE_H2CCMD_AOAC_RSVDPAGE_LOC_GTK_RSP(__cmd, __value) \
277
- SET_BITS_TO_LE_1BYTE((__cmd)+3, 0, 8, __value)
248
+ *(u8 *)(__cmd + 3) = __value
278249 #define SET_8821AE_H2CCMD_AOAC_RSVDPAGE_LOC_GTK_INFO(__cmd, __value) \
279
- SET_BITS_TO_LE_1BYTE((__cmd)+4, 0, 8, __value)
250
+ *(u8 *)(__cmd + 4) = __value
280251 #define SET_8821AE_H2CCMD_AOAC_RSVDPAGE_LOC_GTK_EXT_MEM(__cmd, __value) \
281
- SET_BITS_TO_LE_1BYTE((__cmd)+5, 0, 8, __value)
252
+ *(u8 *)(__cmd + 5) = __value
282253
283254 /* Disconnect_Decision_Control */
284255 #define SET_8812_H2CCMD_DISCONNECT_DECISION_CTRL_ENABLE(__cmd, __value) \
285
- SET_BITS_TO_LE_1BYTE(__cmd, 0, 1, __value)
256
+ u8p_replace_bits(__cmd, __value, BIT(0))
286257 #define SET_8812_H2CCMD_DISCONNECT_DECISION_CTRL_USER_SETTING(__cmd, __value)\
287
- SET_BITS_TO_LE_1BYTE(__cmd, 1, 1, __value)
258
+ u8p_replace_bits(__cmd, __value, BIT(1))
288259 #define SET_8812_H2CCMD_DISCONNECT_DECISION_CTRL_CHECK_PERIOD(__cmd, __value)\
289
- SET_BITS_TO_LE_1BYTE((__cmd)+1, 0, 8, __value) /* unit: beacon period */
260
+ *(u8 *)(__cmd + 1) = __value
290261 #define SET_8812_H2CCMD_DISCONNECT_DECISION_CTRL_TRYPKT_NUM(__cmd, __value)\
291
- SET_BITS_TO_LE_1BYTE((__cmd)+2, 0, 8, __value)
262
+ *(u8 *)(__cmd + 2) = __value
292263
293264 int rtl8821ae_download_fw(struct ieee80211_hw *hw, bool buse_wake_on_wlan_fw);
294265 #if (USE_SPECIFIC_FW_TO_SUPPORT_WOWLAN == 1)