.. | .. |
---|
1 | | -/****************************************************************************** |
---|
2 | | - * |
---|
3 | | - * Copyright(c) 2009-2012 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-2012 Realtek Corporation.*/ |
---|
25 | 3 | |
---|
26 | 4 | #include "../wifi.h" |
---|
27 | 5 | #include "../pci.h" |
---|
.. | .. |
---|
69 | 47 | u32 pagenums, remainsize; |
---|
70 | 48 | u32 page, offset; |
---|
71 | 49 | |
---|
72 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_TRACE, "FW size is %d bytes,\n", size); |
---|
| 50 | + rtl_dbg(rtlpriv, COMP_FW, DBG_TRACE, "FW size is %d bytes,\n", size); |
---|
73 | 51 | if (rtlhal->hw_type == HARDWARE_TYPE_RTL8192DE) |
---|
74 | 52 | rtl_fill_dummy(bufferptr, &size); |
---|
75 | 53 | pagenums = size / FW_8192D_PAGE_SIZE; |
---|
.. | .. |
---|
97 | 75 | do { |
---|
98 | 76 | value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL); |
---|
99 | 77 | } while ((counter++ < FW_8192D_POLLING_TIMEOUT_COUNT) && |
---|
100 | | - (!(value32 & FWDL_ChkSum_rpt))); |
---|
| 78 | + (!(value32 & FWDL_CHKSUM_RPT))); |
---|
101 | 79 | if (counter >= FW_8192D_POLLING_TIMEOUT_COUNT) { |
---|
102 | 80 | pr_err("chksum report fail! REG_MCUFWDL:0x%08x\n", |
---|
103 | 81 | value32); |
---|
.. | .. |
---|
126 | 104 | u1b_tmp = rtl_read_byte(rtlpriv, REG_SYS_FUNC_EN + 1); |
---|
127 | 105 | } |
---|
128 | 106 | WARN_ONCE((delay <= 0), "rtl8192de: 8051 reset failed!\n"); |
---|
129 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, |
---|
130 | | - "=====> 8051 reset success (%d)\n", delay); |
---|
| 107 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, |
---|
| 108 | + "=====> 8051 reset success (%d)\n", delay); |
---|
131 | 109 | } |
---|
132 | 110 | |
---|
133 | 111 | static int _rtl92d_fw_init(struct ieee80211_hw *hw) |
---|
.. | .. |
---|
136 | 114 | struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); |
---|
137 | 115 | u32 counter; |
---|
138 | 116 | |
---|
139 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, "FW already have download\n"); |
---|
| 117 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, "FW already have download\n"); |
---|
140 | 118 | /* polling for FW ready */ |
---|
141 | 119 | counter = 0; |
---|
142 | 120 | do { |
---|
143 | 121 | if (rtlhal->interfaceindex == 0) { |
---|
144 | 122 | if (rtl_read_byte(rtlpriv, FW_MAC0_READY) & |
---|
145 | 123 | MAC0_READY) { |
---|
146 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, |
---|
147 | | - "Polling FW ready success!! REG_MCUFWDL: 0x%x\n", |
---|
148 | | - rtl_read_byte(rtlpriv, |
---|
149 | | - FW_MAC0_READY)); |
---|
| 124 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, |
---|
| 125 | + "Polling FW ready success!! REG_MCUFWDL: 0x%x\n", |
---|
| 126 | + rtl_read_byte(rtlpriv, |
---|
| 127 | + FW_MAC0_READY)); |
---|
150 | 128 | return 0; |
---|
151 | 129 | } |
---|
152 | 130 | udelay(5); |
---|
153 | 131 | } else { |
---|
154 | 132 | if (rtl_read_byte(rtlpriv, FW_MAC1_READY) & |
---|
155 | 133 | MAC1_READY) { |
---|
156 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, |
---|
157 | | - "Polling FW ready success!! REG_MCUFWDL: 0x%x\n", |
---|
158 | | - rtl_read_byte(rtlpriv, |
---|
159 | | - FW_MAC1_READY)); |
---|
| 134 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, |
---|
| 135 | + "Polling FW ready success!! REG_MCUFWDL: 0x%x\n", |
---|
| 136 | + rtl_read_byte(rtlpriv, |
---|
| 137 | + FW_MAC1_READY)); |
---|
160 | 138 | return 0; |
---|
161 | 139 | } |
---|
162 | 140 | udelay(5); |
---|
.. | .. |
---|
164 | 142 | } while (counter++ < POLLING_READY_TIMEOUT_COUNT); |
---|
165 | 143 | |
---|
166 | 144 | if (rtlhal->interfaceindex == 0) { |
---|
167 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, |
---|
168 | | - "Polling FW ready fail!! MAC0 FW init not ready: 0x%x\n", |
---|
169 | | - rtl_read_byte(rtlpriv, FW_MAC0_READY)); |
---|
| 145 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, |
---|
| 146 | + "Polling FW ready fail!! MAC0 FW init not ready: 0x%x\n", |
---|
| 147 | + rtl_read_byte(rtlpriv, FW_MAC0_READY)); |
---|
170 | 148 | } else { |
---|
171 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, |
---|
172 | | - "Polling FW ready fail!! MAC1 FW init not ready: 0x%x\n", |
---|
173 | | - rtl_read_byte(rtlpriv, FW_MAC1_READY)); |
---|
| 149 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, |
---|
| 150 | + "Polling FW ready fail!! MAC1 FW init not ready: 0x%x\n", |
---|
| 151 | + rtl_read_byte(rtlpriv, FW_MAC1_READY)); |
---|
174 | 152 | } |
---|
175 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, |
---|
176 | | - "Polling FW ready fail!! REG_MCUFWDL:0x%08x\n", |
---|
177 | | - rtl_read_dword(rtlpriv, REG_MCUFWDL)); |
---|
| 153 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, |
---|
| 154 | + "Polling FW ready fail!! REG_MCUFWDL:0x%08x\n", |
---|
| 155 | + rtl_read_dword(rtlpriv, REG_MCUFWDL)); |
---|
178 | 156 | return -1; |
---|
179 | 157 | } |
---|
180 | 158 | |
---|
.. | .. |
---|
199 | 177 | pfwdata = rtlhal->pfirmware; |
---|
200 | 178 | rtlhal->fw_version = (u16) GET_FIRMWARE_HDR_VERSION(pfwheader); |
---|
201 | 179 | rtlhal->fw_subversion = (u16) GET_FIRMWARE_HDR_SUB_VER(pfwheader); |
---|
202 | | - RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, |
---|
203 | | - "FirmwareVersion(%d), FirmwareSubVersion(%d), Signature(%#x)\n", |
---|
204 | | - rtlhal->fw_version, rtlhal->fw_subversion, |
---|
205 | | - GET_FIRMWARE_HDR_SIGNATURE(pfwheader)); |
---|
| 180 | + rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD, |
---|
| 181 | + "FirmwareVersion(%d), FirmwareSubVersion(%d), Signature(%#x)\n", |
---|
| 182 | + rtlhal->fw_version, rtlhal->fw_subversion, |
---|
| 183 | + GET_FIRMWARE_HDR_SIGNATURE(pfwheader)); |
---|
206 | 184 | if (IS_FW_HEADER_EXIST(pfwheader)) { |
---|
207 | | - RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, |
---|
208 | | - "Shift 32 bytes for FW header!!\n"); |
---|
| 185 | + rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD, |
---|
| 186 | + "Shift 32 bytes for FW header!!\n"); |
---|
209 | 187 | pfwdata = pfwdata + 32; |
---|
210 | 188 | fwsize = fwsize - 32; |
---|
211 | 189 | } |
---|
.. | .. |
---|
236 | 214 | else if (!fwdl_in_process) |
---|
237 | 215 | break; |
---|
238 | 216 | else |
---|
239 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, |
---|
240 | | - "Wait for another mac download fw\n"); |
---|
| 217 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, |
---|
| 218 | + "Wait for another mac download fw\n"); |
---|
241 | 219 | } |
---|
242 | 220 | spin_lock_irqsave(&globalmutex_for_fwdownload, flags); |
---|
243 | 221 | value = rtl_read_byte(rtlpriv, 0x1f); |
---|
.. | .. |
---|
308 | 286 | u8 idx; |
---|
309 | 287 | |
---|
310 | 288 | if (ppsc->rfpwr_state == ERFOFF || ppsc->inactive_pwrstate == ERFOFF) { |
---|
311 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
312 | | - "Return as RF is off!!!\n"); |
---|
| 289 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
| 290 | + "Return as RF is off!!!\n"); |
---|
313 | 291 | return; |
---|
314 | 292 | } |
---|
315 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, "come in\n"); |
---|
| 293 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, "come in\n"); |
---|
316 | 294 | while (true) { |
---|
317 | 295 | spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); |
---|
318 | 296 | if (rtlhal->h2c_setinprogress) { |
---|
319 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
320 | | - "H2C set in progress! Wait to set..element_id(%d)\n", |
---|
321 | | - element_id); |
---|
| 297 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
| 298 | + "H2C set in progress! Wait to set..element_id(%d)\n", |
---|
| 299 | + element_id); |
---|
322 | 300 | |
---|
323 | 301 | while (rtlhal->h2c_setinprogress) { |
---|
324 | 302 | spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, |
---|
325 | 303 | flag); |
---|
326 | 304 | h2c_waitcounter++; |
---|
327 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
328 | | - "Wait 100 us (%d times)...\n", |
---|
329 | | - h2c_waitcounter); |
---|
| 305 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
| 306 | + "Wait 100 us (%d times)...\n", |
---|
| 307 | + h2c_waitcounter); |
---|
330 | 308 | udelay(100); |
---|
331 | 309 | |
---|
332 | 310 | if (h2c_waitcounter > 1000) |
---|
.. | .. |
---|
375 | 353 | while (!isfw_read) { |
---|
376 | 354 | wait_h2c_limmit--; |
---|
377 | 355 | if (wait_h2c_limmit == 0) { |
---|
378 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
379 | | - "Waiting too long for FW read clear HMEBox(%d)!\n", |
---|
380 | | - boxnum); |
---|
| 356 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
| 357 | + "Waiting too long for FW read clear HMEBox(%d)!\n", |
---|
| 358 | + boxnum); |
---|
381 | 359 | break; |
---|
382 | 360 | } |
---|
383 | 361 | udelay(10); |
---|
384 | 362 | isfw_read = _rtl92d_check_fw_read_last_h2c(hw, boxnum); |
---|
385 | 363 | u1b_tmp = rtl_read_byte(rtlpriv, 0x1BF); |
---|
386 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
387 | | - "Waiting for FW read clear HMEBox(%d)!!! 0x1BF = %2x\n", |
---|
388 | | - boxnum, u1b_tmp); |
---|
| 364 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
| 365 | + "Waiting for FW read clear HMEBox(%d)!!! 0x1BF = %2x\n", |
---|
| 366 | + boxnum, u1b_tmp); |
---|
389 | 367 | } |
---|
390 | 368 | if (!isfw_read) { |
---|
391 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
392 | | - "Write H2C register BOX[%d] fail!!!!! Fw do not read.\n", |
---|
393 | | - boxnum); |
---|
| 369 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
| 370 | + "Write H2C register BOX[%d] fail!!!!! Fw do not read.\n", |
---|
| 371 | + boxnum); |
---|
394 | 372 | break; |
---|
395 | 373 | } |
---|
396 | 374 | memset(boxcontent, 0, sizeof(boxcontent)); |
---|
397 | 375 | memset(boxextcontent, 0, sizeof(boxextcontent)); |
---|
398 | 376 | boxcontent[0] = element_id; |
---|
399 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
400 | | - "Write element_id box_reg(%4x) = %2x\n", |
---|
401 | | - box_reg, element_id); |
---|
| 377 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
| 378 | + "Write element_id box_reg(%4x) = %2x\n", |
---|
| 379 | + box_reg, element_id); |
---|
402 | 380 | switch (cmd_len) { |
---|
403 | 381 | case 1: |
---|
404 | 382 | boxcontent[0] &= ~(BIT(7)); |
---|
.. | .. |
---|
452 | 430 | rtlhal->last_hmeboxnum = boxnum + 1; |
---|
453 | 431 | if (rtlhal->last_hmeboxnum == 4) |
---|
454 | 432 | rtlhal->last_hmeboxnum = 0; |
---|
455 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
456 | | - "pHalData->last_hmeboxnum = %d\n", |
---|
457 | | - rtlhal->last_hmeboxnum); |
---|
| 433 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
| 434 | + "pHalData->last_hmeboxnum = %d\n", |
---|
| 435 | + rtlhal->last_hmeboxnum); |
---|
458 | 436 | } |
---|
459 | 437 | spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); |
---|
460 | 438 | rtlhal->h2c_setinprogress = false; |
---|
461 | 439 | spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); |
---|
462 | | - RT_TRACE(rtlpriv, COMP_CMD, DBG_LOUD, "go out\n"); |
---|
| 440 | + rtl_dbg(rtlpriv, COMP_CMD, DBG_LOUD, "go out\n"); |
---|
463 | 441 | } |
---|
464 | 442 | |
---|
465 | 443 | void rtl92d_fill_h2c_cmd(struct ieee80211_hw *hw, |
---|
.. | .. |
---|
621 | 599 | struct sk_buff *skb = NULL; |
---|
622 | 600 | u32 totalpacketlen; |
---|
623 | 601 | bool rtstatus; |
---|
624 | | - u8 u1RsvdPageLoc[3] = { 0 }; |
---|
| 602 | + u8 u1rsvdpageloc[3] = { 0 }; |
---|
625 | 603 | bool dlok = false; |
---|
626 | 604 | u8 *beacon; |
---|
627 | 605 | u8 *p_pspoll; |
---|
.. | .. |
---|
640 | 618 | SET_80211_PS_POLL_AID(p_pspoll, (mac->assoc_id | 0xc000)); |
---|
641 | 619 | SET_80211_PS_POLL_BSSID(p_pspoll, mac->bssid); |
---|
642 | 620 | SET_80211_PS_POLL_TA(p_pspoll, mac->mac_addr); |
---|
643 | | - SET_H2CCMD_RSVDPAGE_LOC_PSPOLL(u1RsvdPageLoc, PSPOLL_PG); |
---|
| 621 | + SET_H2CCMD_RSVDPAGE_LOC_PSPOLL(u1rsvdpageloc, PSPOLL_PG); |
---|
644 | 622 | /*-------------------------------------------------------- |
---|
645 | 623 | (3) null data |
---|
646 | 624 | ---------------------------------------------------------*/ |
---|
.. | .. |
---|
648 | 626 | SET_80211_HDR_ADDRESS1(nullfunc, mac->bssid); |
---|
649 | 627 | SET_80211_HDR_ADDRESS2(nullfunc, mac->mac_addr); |
---|
650 | 628 | SET_80211_HDR_ADDRESS3(nullfunc, mac->bssid); |
---|
651 | | - SET_H2CCMD_RSVDPAGE_LOC_NULL_DATA(u1RsvdPageLoc, NULL_PG); |
---|
| 629 | + SET_H2CCMD_RSVDPAGE_LOC_NULL_DATA(u1rsvdpageloc, NULL_PG); |
---|
652 | 630 | /*--------------------------------------------------------- |
---|
653 | 631 | (4) probe response |
---|
654 | 632 | ----------------------------------------------------------*/ |
---|
.. | .. |
---|
656 | 634 | SET_80211_HDR_ADDRESS1(p_probersp, mac->bssid); |
---|
657 | 635 | SET_80211_HDR_ADDRESS2(p_probersp, mac->mac_addr); |
---|
658 | 636 | SET_80211_HDR_ADDRESS3(p_probersp, mac->bssid); |
---|
659 | | - SET_H2CCMD_RSVDPAGE_LOC_PROBE_RSP(u1RsvdPageLoc, PROBERSP_PG); |
---|
| 637 | + SET_H2CCMD_RSVDPAGE_LOC_PROBE_RSP(u1rsvdpageloc, PROBERSP_PG); |
---|
660 | 638 | totalpacketlen = TOTAL_RESERVED_PKT_LEN; |
---|
661 | 639 | RT_PRINT_DATA(rtlpriv, COMP_CMD, DBG_LOUD, |
---|
662 | 640 | "rtl92d_set_fw_rsvdpagepkt(): HW_VAR_SET_TX_CMD: ALL", |
---|
663 | 641 | &reserved_page_packet[0], totalpacketlen); |
---|
664 | 642 | RT_PRINT_DATA(rtlpriv, COMP_CMD, DBG_DMESG, |
---|
665 | 643 | "rtl92d_set_fw_rsvdpagepkt(): HW_VAR_SET_TX_CMD: ALL", |
---|
666 | | - u1RsvdPageLoc, 3); |
---|
| 644 | + u1rsvdpageloc, 3); |
---|
667 | 645 | skb = dev_alloc_skb(totalpacketlen); |
---|
668 | 646 | if (!skb) { |
---|
669 | 647 | dlok = false; |
---|
.. | .. |
---|
675 | 653 | dlok = true; |
---|
676 | 654 | } |
---|
677 | 655 | if (dlok) { |
---|
678 | | - RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, |
---|
679 | | - "Set RSVD page location to Fw\n"); |
---|
| 656 | + rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, |
---|
| 657 | + "Set RSVD page location to Fw\n"); |
---|
680 | 658 | RT_PRINT_DATA(rtlpriv, COMP_CMD, DBG_DMESG, |
---|
681 | | - "H2C_RSVDPAGE", u1RsvdPageLoc, 3); |
---|
| 659 | + "H2C_RSVDPAGE", u1rsvdpageloc, 3); |
---|
682 | 660 | rtl92d_fill_h2c_cmd(hw, H2C_RSVDPAGE, |
---|
683 | | - sizeof(u1RsvdPageLoc), u1RsvdPageLoc); |
---|
| 661 | + sizeof(u1rsvdpageloc), u1rsvdpageloc); |
---|
684 | 662 | } else |
---|
685 | | - RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING, |
---|
686 | | - "Set RSVD page location to Fw FAIL!!!!!!\n"); |
---|
| 663 | + rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING, |
---|
| 664 | + "Set RSVD page location to Fw FAIL!!!!!!\n"); |
---|
687 | 665 | } |
---|
688 | 666 | |
---|
689 | 667 | void rtl92d_set_fw_joinbss_report_cmd(struct ieee80211_hw *hw, u8 mstatus) |
---|