forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 297b60346df8beafee954a0fd7c2d64f33f3b9bc
kernel/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c
....@@ -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 #include "../wifi.h"
275 #include "../pci.h"
....@@ -62,7 +40,7 @@
6240 u32 pagenums, remainsize;
6341 u32 page, offset;
6442
65
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD, "FW size is %d bytes,\n", size);
43
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "FW size is %d bytes,\n", size);
6644
6745 rtl_fill_dummy(bufferptr, &size);
6846
....@@ -145,14 +123,14 @@
145123 rtlhal->fw_subversion = pfwheader->subversion;
146124 pfwdata = rtlhal->pfirmware;
147125 fwsize = rtlhal->fwsize;
148
- RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG,
149
- "normal Firmware SIZE %d\n", fwsize);
126
+ rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG,
127
+ "normal Firmware SIZE %d\n", fwsize);
150128
151129 if (IS_FW_HEADER_EXIST(pfwheader)) {
152
- RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG,
153
- "Firmware Version(%d), Signature(%#x), Size(%d)\n",
154
- pfwheader->version, pfwheader->signature,
155
- (int)sizeof(struct rtlwifi_firmware_header));
130
+ rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG,
131
+ "Firmware Version(%d), Signature(%#x), Size(%d)\n",
132
+ pfwheader->version, pfwheader->signature,
133
+ (int)sizeof(struct rtlwifi_firmware_header));
156134
157135 pfwdata = pfwdata + sizeof(struct rtlwifi_firmware_header);
158136 fwsize = fwsize - sizeof(struct rtlwifi_firmware_header);
....@@ -203,22 +181,22 @@
203181 unsigned long flag;
204182 u8 idx;
205183
206
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, "come in\n");
184
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, "come in\n");
207185
208186 while (true) {
209187 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag);
210188 if (rtlhal->h2c_setinprogress) {
211
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD,
212
- "H2C set in progress! Wait to set..element_id(%d).\n",
213
- element_id);
189
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
190
+ "H2C set in progress! Wait to set..element_id(%d).\n",
191
+ element_id);
214192
215193 while (rtlhal->h2c_setinprogress) {
216194 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock,
217195 flag);
218196 h2c_waitcounter++;
219
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD,
220
- "Wait 100 us (%d times)...\n",
221
- h2c_waitcounter);
197
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
198
+ "Wait 100 us (%d times)...\n",
199
+ h2c_waitcounter);
222200 udelay(100);
223201
224202 if (h2c_waitcounter > 1000)
....@@ -260,17 +238,17 @@
260238 box_extreg = REG_HMEBOX_EXT_3;
261239 break;
262240 default:
263
- RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
264
- "switch case %#x not processed\n", boxnum);
241
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
242
+ "switch case %#x not processed\n", boxnum);
265243 break;
266244 }
267245 isfw_read = _rtl88e_check_fw_read_last_h2c(hw, boxnum);
268246 while (!isfw_read) {
269247 wait_h2c_limmit--;
270248 if (wait_h2c_limmit == 0) {
271
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD,
272
- "Waiting too long for FW read clear HMEBox(%d)!\n",
273
- boxnum);
249
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
250
+ "Waiting too long for FW read clear HMEBox(%d)!\n",
251
+ boxnum);
274252 break;
275253 }
276254
....@@ -278,24 +256,24 @@
278256
279257 isfw_read = _rtl88e_check_fw_read_last_h2c(hw, boxnum);
280258 u1b_tmp = rtl_read_byte(rtlpriv, 0x130);
281
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD,
282
- "Waiting for FW read clear HMEBox(%d)!!! 0x130 = %2x\n",
283
- boxnum, u1b_tmp);
259
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
260
+ "Waiting for FW read clear HMEBox(%d)!!! 0x130 = %2x\n",
261
+ boxnum, u1b_tmp);
284262 }
285263
286264 if (!isfw_read) {
287
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD,
288
- "Write H2C register BOX[%d] fail!!!!! Fw do not read.\n",
289
- boxnum);
265
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
266
+ "Write H2C register BOX[%d] fail!!!!! Fw do not read.\n",
267
+ boxnum);
290268 break;
291269 }
292270
293271 memset(boxcontent, 0, sizeof(boxcontent));
294272 memset(boxextcontent, 0, sizeof(boxextcontent));
295273 boxcontent[0] = element_id;
296
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD,
297
- "Write element_id box_reg(%4x) = %2x\n",
298
- box_reg, element_id);
274
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
275
+ "Write element_id box_reg(%4x) = %2x\n",
276
+ box_reg, element_id);
299277
300278 switch (cmd_len) {
301279 case 1:
....@@ -331,8 +309,8 @@
331309 }
332310 break;
333311 default:
334
- RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
335
- "switch case %#x not processed\n", cmd_len);
312
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
313
+ "switch case %#x not processed\n", cmd_len);
336314 break;
337315 }
338316
....@@ -342,16 +320,16 @@
342320 if (rtlhal->last_hmeboxnum == 4)
343321 rtlhal->last_hmeboxnum = 0;
344322
345
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD,
346
- "pHalData->last_hmeboxnum = %d\n",
347
- rtlhal->last_hmeboxnum);
323
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
324
+ "pHalData->last_hmeboxnum = %d\n",
325
+ rtlhal->last_hmeboxnum);
348326 }
349327
350328 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag);
351329 rtlhal->h2c_setinprogress = false;
352330 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag);
353331
354
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, "go out\n");
332
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, "go out\n");
355333 }
356334
357335 void rtl88e_fill_h2c_cmd(struct ieee80211_hw *hw,
....@@ -381,8 +359,8 @@
381359 u1b_tmp = rtl_read_byte(rtlpriv, REG_SYS_FUNC_EN+1);
382360 rtl_write_byte(rtlpriv, REG_SYS_FUNC_EN+1, (u1b_tmp & (~BIT(2))));
383361 rtl_write_byte(rtlpriv, REG_SYS_FUNC_EN+1, (u1b_tmp | BIT(2)));
384
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
385
- "8051Reset88E(): 8051 reset success\n");
362
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
363
+ "8051Reset88E(): 8051 reset success\n");
386364
387365 }
388366
....@@ -392,22 +370,22 @@
392370 u8 u1_h2c_set_pwrmode[H2C_88E_PWEMODE_LENGTH] = { 0 };
393371 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
394372 u8 rlbm, power_state = 0;
395
- RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, "FW LPS mode = %d\n", mode);
373
+ rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, "FW LPS mode = %d\n", mode);
396374
397
- SET_H2CCMD_PWRMODE_PARM_MODE(u1_h2c_set_pwrmode, ((mode) ? 1 : 0));
375
+ set_h2ccmd_pwrmode_parm_mode(u1_h2c_set_pwrmode, ((mode) ? 1 : 0));
398376 rlbm = 0;/*YJ, temp, 120316. FW now not support RLBM=2.*/
399
- SET_H2CCMD_PWRMODE_PARM_RLBM(u1_h2c_set_pwrmode, rlbm);
400
- SET_H2CCMD_PWRMODE_PARM_SMART_PS(u1_h2c_set_pwrmode,
377
+ set_h2ccmd_pwrmode_parm_rlbm(u1_h2c_set_pwrmode, rlbm);
378
+ set_h2ccmd_pwrmode_parm_smart_ps(u1_h2c_set_pwrmode,
401379 (rtlpriv->mac80211.p2p) ? ppsc->smart_ps : 1);
402
- SET_H2CCMD_PWRMODE_PARM_AWAKE_INTERVAL(u1_h2c_set_pwrmode,
380
+ set_h2ccmd_pwrmode_parm_awake_interval(u1_h2c_set_pwrmode,
403381 ppsc->reg_max_lps_awakeintvl);
404
- SET_H2CCMD_PWRMODE_PARM_ALL_QUEUE_UAPSD(u1_h2c_set_pwrmode, 0);
382
+ set_h2ccmd_pwrmode_parm_all_queue_uapsd(u1_h2c_set_pwrmode, 0);
405383 if (mode == FW_PS_ACTIVE_MODE)
406384 power_state |= FW_PWR_STATE_ACTIVE;
407385 else
408386 power_state |= FW_PWR_STATE_RF_OFF;
409387
410
- SET_H2CCMD_PWRMODE_PARM_PWR_STATE(u1_h2c_set_pwrmode, power_state);
388
+ set_h2ccmd_pwrmode_parm_pwr_state(u1_h2c_set_pwrmode, power_state);
411389
412390 RT_PRINT_DATA(rtlpriv, COMP_CMD, DBG_DMESG,
413391 "rtl92c_set_fw_pwrmode(): u1_h2c_set_pwrmode\n",
....@@ -632,15 +610,15 @@
632610 b_dlok = true;
633611
634612 if (b_dlok) {
635
- RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD,
636
- "Set RSVD page location to Fw.\n");
613
+ rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD,
614
+ "Set RSVD page location to Fw.\n");
637615 RT_PRINT_DATA(rtlpriv, COMP_CMD, DBG_DMESG,
638616 "H2C_RSVDPAGE:\n", u1rsvdpageloc, 3);
639617 rtl88e_fill_h2c_cmd(hw, H2C_88E_RSVDPAGE,
640618 sizeof(u1rsvdpageloc), u1rsvdpageloc);
641619 } else
642
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
643
- "Set RSVD page location to Fw FAIL!!!!!!.\n");
620
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING,
621
+ "Set RSVD page location to Fw FAIL!!!!!!.\n");
644622 }
645623
646624 /*Should check FW support p2p or not.*/
....@@ -665,11 +643,11 @@
665643
666644 switch (p2p_ps_state) {
667645 case P2P_PS_DISABLE:
668
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_DISABLE\n");
646
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_DISABLE\n");
669647 memset(p2p_ps_offload, 0, sizeof(*p2p_ps_offload));
670648 break;
671649 case P2P_PS_ENABLE:
672
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_ENABLE\n");
650
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_ENABLE\n");
673651 /* update CTWindow value. */
674652 if (p2pinfo->ctwindow > 0) {
675653 p2p_ps_offload->ctwindow_en = 1;
....@@ -725,11 +703,11 @@
725703 }
726704 break;
727705 case P2P_PS_SCAN:
728
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_SCAN\n");
706
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_SCAN\n");
729707 p2p_ps_offload->discovery = 1;
730708 break;
731709 case P2P_PS_SCAN_DONE:
732
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_SCAN_DONE\n");
710
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_SCAN_DONE\n");
733711 p2p_ps_offload->discovery = 0;
734712 p2pinfo->p2p_ps_state = P2P_PS_ENABLE;
735713 break;