hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c
....@@ -1,27 +1,5 @@
1
-/******************************************************************************
2
- *
3
- * Copyright(c) 2009-2014 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-2014 Realtek Corporation.*/
253
264 #include "../wifi.h"
275 #include "../pci.h"
....@@ -58,7 +36,7 @@
5836 u32 pagenums, remainsize;
5937 u32 page, offset;
6038
61
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD , "FW size is %d bytes,\n", size);
39
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "FW size is %d bytes,\n", size);
6240
6341 rtl_fill_dummy(bufferptr, &size);
6442
....@@ -130,7 +108,6 @@
130108 struct rtlwifi_firmware_header *pfwheader;
131109 u8 *pfwdata;
132110 u32 fwsize;
133
- int err;
134111 enum version_8192e version = rtlhal->version;
135112
136113 if (!rtlhal->pfirmware)
....@@ -141,21 +118,21 @@
141118 rtlhal->fw_subversion = pfwheader->subversion;
142119 pfwdata = (u8 *)rtlhal->pfirmware;
143120 fwsize = rtlhal->fwsize;
144
- RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG,
145
- "normal Firmware SIZE %d\n" , fwsize);
121
+ rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG,
122
+ "normal Firmware SIZE %d\n", fwsize);
146123
147124 if (IS_FW_HEADER_EXIST(pfwheader)) {
148
- RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG,
149
- "Firmware Version(%d), Signature(%#x),Size(%d)\n",
150
- pfwheader->version, pfwheader->signature,
151
- (int)sizeof(struct rtlwifi_firmware_header));
125
+ rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG,
126
+ "Firmware Version(%d), Signature(%#x),Size(%d)\n",
127
+ pfwheader->version, pfwheader->signature,
128
+ (int)sizeof(struct rtlwifi_firmware_header));
152129
153130 pfwdata = pfwdata + sizeof(struct rtlwifi_firmware_header);
154131 fwsize = fwsize - sizeof(struct rtlwifi_firmware_header);
155132 } else {
156
- RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG,
157
- "Firmware no Header, Signature(%#x)\n",
158
- pfwheader->signature);
133
+ rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG,
134
+ "Firmware no Header, Signature(%#x)\n",
135
+ pfwheader->signature);
159136 }
160137
161138 if (rtlhal->mac_func_enable) {
....@@ -168,9 +145,7 @@
168145 _rtl92ee_write_fw(hw, version, pfwdata, fwsize);
169146 _rtl92ee_enable_fw_download(hw, false);
170147
171
- err = _rtl92ee_fw_free_to_go(hw);
172
-
173
- return 0;
148
+ return _rtl92ee_fw_free_to_go(hw);
174149 }
175150
176151 static bool _rtl92ee_check_fw_read_last_h2c(struct ieee80211_hw *hw, u8 boxnum)
....@@ -205,12 +180,12 @@
205180
206181 if (ppsc->dot11_psmode != EACTIVE ||
207182 ppsc->inactive_pwrstate == ERFOFF) {
208
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD ,
209
- "FillH2CCommand8192E(): Return because RF is off!!!\n");
183
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
184
+ "FillH2CCommand8192E(): Return because RF is off!!!\n");
210185 return;
211186 }
212187
213
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD , "come in\n");
188
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, "come in\n");
214189
215190 /* 1. Prevent race condition in setting H2C cmd.
216191 * (copy from MgntActSet_RF_State().)
....@@ -218,17 +193,17 @@
218193 while (true) {
219194 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag);
220195 if (rtlhal->h2c_setinprogress) {
221
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD ,
222
- "H2C set in progress! Wait to set..element_id(%d).\n",
223
- element_id);
196
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
197
+ "H2C set in progress! Wait to set..element_id(%d).\n",
198
+ element_id);
224199
225200 while (rtlhal->h2c_setinprogress) {
226201 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock,
227202 flag);
228203 h2c_waitcounter++;
229
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD ,
230
- "Wait 100 us (%d times)...\n",
231
- h2c_waitcounter);
204
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
205
+ "Wait 100 us (%d times)...\n",
206
+ h2c_waitcounter);
232207 udelay(100);
233208
234209 if (h2c_waitcounter > 1000)
....@@ -265,8 +240,8 @@
265240 box_extreg = REG_HMEBOX_EXT_3;
266241 break;
267242 default:
268
- RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
269
- "switch case %#x not processed\n", boxnum);
243
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
244
+ "switch case %#x not processed\n", boxnum);
270245 break;
271246 }
272247
....@@ -288,18 +263,18 @@
288263 while (!isfw_read) {
289264 wait_h2c_limmit--;
290265 if (wait_h2c_limmit == 0) {
291
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD ,
292
- "Waiting too long for FW read clear HMEBox(%d)!!!\n",
293
- boxnum);
266
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
267
+ "Waiting too long for FW read clear HMEBox(%d)!!!\n",
268
+ boxnum);
294269 break;
295270 }
296271 udelay(10);
297272 isfw_read =
298273 _rtl92ee_check_fw_read_last_h2c(hw, boxnum);
299274 u1b_tmp = rtl_read_byte(rtlpriv, 0x130);
300
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD ,
301
- "Waiting for FW read clear HMEBox(%d)!!! 0x130 = %2x\n",
302
- boxnum, u1b_tmp);
275
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
276
+ "Waiting for FW read clear HMEBox(%d)!!! 0x130 = %2x\n",
277
+ boxnum, u1b_tmp);
303278 }
304279 }
305280
....@@ -307,18 +282,18 @@
307282 * H2C cmd, break and give up this H2C.
308283 */
309284 if (!isfw_read) {
310
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD ,
311
- "Write H2C reg BOX[%d] fail,Fw don't read.\n",
312
- boxnum);
285
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
286
+ "Write H2C reg BOX[%d] fail,Fw don't read.\n",
287
+ boxnum);
313288 break;
314289 }
315290 /* 4. Fill the H2C cmd into box */
316291 memset(boxcontent, 0, sizeof(boxcontent));
317292 memset(boxextcontent, 0, sizeof(boxextcontent));
318293 boxcontent[0] = element_id;
319
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD ,
320
- "Write element_id box_reg(%4x) = %2x\n",
321
- box_reg, element_id);
294
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
295
+ "Write element_id box_reg(%4x) = %2x\n",
296
+ box_reg, element_id);
322297
323298 switch (cmd_len) {
324299 case 1:
....@@ -354,8 +329,8 @@
354329 }
355330 break;
356331 default:
357
- RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
358
- "switch case %#x not processed\n", cmd_len);
332
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
333
+ "switch case %#x not processed\n", cmd_len);
359334 break;
360335 }
361336
....@@ -365,16 +340,16 @@
365340 if (rtlhal->last_hmeboxnum == 4)
366341 rtlhal->last_hmeboxnum = 0;
367342
368
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD ,
369
- "pHalData->last_hmeboxnum = %d\n",
370
- rtlhal->last_hmeboxnum);
343
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD,
344
+ "pHalData->last_hmeboxnum = %d\n",
345
+ rtlhal->last_hmeboxnum);
371346 }
372347
373348 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag);
374349 rtlhal->h2c_setinprogress = false;
375350 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag);
376351
377
- RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD , "go out\n");
352
+ rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, "go out\n");
378353 }
379354
380355 void rtl92ee_fill_h2c_cmd(struct ieee80211_hw *hw,
....@@ -413,8 +388,8 @@
413388 u1b_tmp = rtl_read_byte(rtlpriv, REG_SYS_FUNC_EN + 1);
414389 rtl_write_byte(rtlpriv, REG_SYS_FUNC_EN + 1, (u1b_tmp | BIT(2)));
415390
416
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD ,
417
- " _8051Reset92E(): 8051 reset success .\n");
391
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
392
+ " _8051Reset92E(): 8051 reset success .\n");
418393 }
419394
420395 void rtl92ee_set_fw_pwrmode_cmd(struct ieee80211_hw *hw, u8 mode)
....@@ -433,8 +408,8 @@
433408 if (bt_ctrl_lps)
434409 mode = (bt_lps_on ? FW_PS_MIN_MODE : FW_PS_ACTIVE_MODE);
435410
436
- RT_TRACE(rtlpriv, COMP_POWER, DBG_DMESG, "FW LPS mode = %d (coex:%d)\n",
437
- mode, bt_ctrl_lps);
411
+ rtl_dbg(rtlpriv, COMP_POWER, DBG_DMESG, "FW LPS mode = %d (coex:%d)\n",
412
+ mode, bt_ctrl_lps);
438413
439414 switch (mode) {
440415 case FW_PS_MIN_MODE:
....@@ -775,15 +750,15 @@
775750 b_dlok = true;
776751
777752 if (b_dlok) {
778
- RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD ,
779
- "Set RSVD page location to Fw.\n");
753
+ rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD,
754
+ "Set RSVD page location to Fw.\n");
780755 RT_PRINT_DATA(rtlpriv, COMP_CMD, DBG_LOUD ,
781756 "H2C_RSVDPAGE:\n", u1rsvdpageloc, 3);
782757 rtl92ee_fill_h2c_cmd(hw, H2C_92E_RSVDPAGE,
783758 sizeof(u1rsvdpageloc), u1rsvdpageloc);
784759 } else {
785
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
786
- "Set RSVD page location to Fw FAIL!!!!!!.\n");
760
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING,
761
+ "Set RSVD page location to Fw FAIL!!!!!!.\n");
787762 }
788763 }
789764
....@@ -808,11 +783,11 @@
808783
809784 switch (p2p_ps_state) {
810785 case P2P_PS_DISABLE:
811
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD , "P2P_PS_DISABLE\n");
786
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_DISABLE\n");
812787 memset(p2p_ps_offload, 0, sizeof(*p2p_ps_offload));
813788 break;
814789 case P2P_PS_ENABLE:
815
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD , "P2P_PS_ENABLE\n");
790
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_ENABLE\n");
816791 /* update CTWindow value. */
817792 if (p2pinfo->ctwindow > 0) {
818793 p2p_ps_offload->ctwindow_en = 1;
....@@ -863,11 +838,11 @@
863838 }
864839 break;
865840 case P2P_PS_SCAN:
866
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD , "P2P_PS_SCAN\n");
841
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_SCAN\n");
867842 p2p_ps_offload->discovery = 1;
868843 break;
869844 case P2P_PS_SCAN_DONE:
870
- RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD , "P2P_PS_SCAN_DONE\n");
845
+ rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "P2P_PS_SCAN_DONE\n");
871846 p2p_ps_offload->discovery = 0;
872847 p2pinfo->p2p_ps_state = P2P_PS_ENABLE;
873848 break;