hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hal_bt_coexist.c
....@@ -1,27 +1,5 @@
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.*/
253
264 #include "hal_bt_coexist.h"
275 #include "../pci.h"
....@@ -124,12 +102,12 @@
124102 BT_COEX_STATE_WIFI_RSSI_1_HIGH;
125103 rtlpriv->btcoexist.cstate &=
126104 ~BT_COEX_STATE_WIFI_RSSI_1_LOW;
127
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
128
- "[DM][BT], RSSI_1 state switch to High\n");
105
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
106
+ "[DM][BT], RSSI_1 state switch to High\n");
129107 } else {
130108 bt_rssi_state = BT_RSSI_STATE_STAY_LOW;
131
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
132
- "[DM][BT], RSSI_1 state stay at Low\n");
109
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
110
+ "[DM][BT], RSSI_1 state stay at Low\n");
133111 }
134112 } else {
135113 if (undecoratedsmoothed_pwdb < rssi_thresh) {
....@@ -138,18 +116,18 @@
138116 BT_COEX_STATE_WIFI_RSSI_1_LOW;
139117 rtlpriv->btcoexist.cstate &=
140118 ~BT_COEX_STATE_WIFI_RSSI_1_HIGH;
141
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
142
- "[DM][BT], RSSI_1 state switch to Low\n");
119
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
120
+ "[DM][BT], RSSI_1 state switch to Low\n");
143121 } else {
144122 bt_rssi_state = BT_RSSI_STATE_STAY_HIGH;
145
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
146
- "[DM][BT], RSSI_1 state stay at High\n");
123
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
124
+ "[DM][BT], RSSI_1 state stay at High\n");
147125 }
148126 }
149127 } else if (level_num == 3) {
150128 if (rssi_thresh > rssi_thresh1) {
151
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
152
- "[DM][BT], RSSI_1 thresh error!!\n");
129
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
130
+ "[DM][BT], RSSI_1 thresh error!!\n");
153131 return rtlpriv->btcoexist.bt_pre_rssi_state;
154132 }
155133
....@@ -166,12 +144,12 @@
166144 ~BT_COEX_STATE_WIFI_RSSI_1_LOW;
167145 rtlpriv->btcoexist.cstate &=
168146 ~BT_COEX_STATE_WIFI_RSSI_1_HIGH;
169
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
170
- "[DM][BT], RSSI_1 state switch to Medium\n");
147
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
148
+ "[DM][BT], RSSI_1 state switch to Medium\n");
171149 } else {
172150 bt_rssi_state = BT_RSSI_STATE_STAY_LOW;
173
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
174
- "[DM][BT], RSSI_1 state stay at Low\n");
151
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
152
+ "[DM][BT], RSSI_1 state stay at Low\n");
175153 }
176154 } else if ((rtlpriv->btcoexist.bt_pre_rssi_state ==
177155 BT_RSSI_STATE_MEDIUM) ||
....@@ -186,8 +164,8 @@
186164 ~BT_COEX_STATE_WIFI_RSSI_1_LOW;
187165 rtlpriv->btcoexist.cstate &=
188166 ~BT_COEX_STATE_WIFI_RSSI_1_MEDIUM;
189
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
190
- "[DM][BT], RSSI_1 state switch to High\n");
167
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
168
+ "[DM][BT], RSSI_1 state switch to High\n");
191169 } else if (undecoratedsmoothed_pwdb < rssi_thresh) {
192170 bt_rssi_state = BT_RSSI_STATE_LOW;
193171 rtlpriv->btcoexist.cstate |=
....@@ -196,12 +174,12 @@
196174 ~BT_COEX_STATE_WIFI_RSSI_1_HIGH;
197175 rtlpriv->btcoexist.cstate &=
198176 ~BT_COEX_STATE_WIFI_RSSI_1_MEDIUM;
199
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
200
- "[DM][BT], RSSI_1 state switch to Low\n");
177
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
178
+ "[DM][BT], RSSI_1 state switch to Low\n");
201179 } else {
202180 bt_rssi_state = BT_RSSI_STATE_STAY_MEDIUM;
203
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
204
- "[DM][BT], RSSI_1 state stay at Medium\n");
181
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
182
+ "[DM][BT], RSSI_1 state stay at Medium\n");
205183 }
206184 } else {
207185 if (undecoratedsmoothed_pwdb < rssi_thresh1) {
....@@ -212,12 +190,12 @@
212190 ~BT_COEX_STATE_WIFI_RSSI_1_HIGH;
213191 rtlpriv->btcoexist.cstate &=
214192 ~BT_COEX_STATE_WIFI_RSSI_1_LOW;
215
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
216
- "[DM][BT], RSSI_1 state switch to Medium\n");
193
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
194
+ "[DM][BT], RSSI_1 state switch to Medium\n");
217195 } else {
218196 bt_rssi_state = BT_RSSI_STATE_STAY_HIGH;
219
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
220
- "[DM][BT], RSSI_1 state stay at High\n");
197
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
198
+ "[DM][BT], RSSI_1 state stay at High\n");
221199 }
222200 }
223201 }
....@@ -252,12 +230,12 @@
252230 |= BT_COEX_STATE_WIFI_RSSI_HIGH;
253231 rtlpriv->btcoexist.cstate
254232 &= ~BT_COEX_STATE_WIFI_RSSI_LOW;
255
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
256
- "[DM][BT], RSSI state switch to High\n");
233
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
234
+ "[DM][BT], RSSI state switch to High\n");
257235 } else {
258236 bt_rssi_state = BT_RSSI_STATE_STAY_LOW;
259
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
260
- "[DM][BT], RSSI state stay at Low\n");
237
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
238
+ "[DM][BT], RSSI state stay at Low\n");
261239 }
262240 } else {
263241 if (undecoratedsmoothed_pwdb < rssi_thresh) {
....@@ -266,18 +244,18 @@
266244 |= BT_COEX_STATE_WIFI_RSSI_LOW;
267245 rtlpriv->btcoexist.cstate
268246 &= ~BT_COEX_STATE_WIFI_RSSI_HIGH;
269
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
270
- "[DM][BT], RSSI state switch to Low\n");
247
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
248
+ "[DM][BT], RSSI state switch to Low\n");
271249 } else {
272250 bt_rssi_state = BT_RSSI_STATE_STAY_HIGH;
273
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
274
- "[DM][BT], RSSI state stay at High\n");
251
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
252
+ "[DM][BT], RSSI state stay at High\n");
275253 }
276254 }
277255 } else if (level_num == 3) {
278256 if (rssi_thresh > rssi_thresh1) {
279
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
280
- "[DM][BT], RSSI thresh error!!\n");
257
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
258
+ "[DM][BT], RSSI thresh error!!\n");
281259 return rtlpriv->btcoexist.bt_pre_rssi_state;
282260 }
283261 if ((rtlpriv->btcoexist.bt_pre_rssi_state ==
....@@ -293,12 +271,12 @@
293271 &= ~BT_COEX_STATE_WIFI_RSSI_LOW;
294272 rtlpriv->btcoexist.cstate
295273 &= ~BT_COEX_STATE_WIFI_RSSI_HIGH;
296
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
297
- "[DM][BT], RSSI state switch to Medium\n");
274
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
275
+ "[DM][BT], RSSI state switch to Medium\n");
298276 } else {
299277 bt_rssi_state = BT_RSSI_STATE_STAY_LOW;
300
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
301
- "[DM][BT], RSSI state stay at Low\n");
278
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
279
+ "[DM][BT], RSSI state stay at Low\n");
302280 }
303281 } else if ((rtlpriv->btcoexist.bt_pre_rssi_state ==
304282 BT_RSSI_STATE_MEDIUM) ||
....@@ -313,8 +291,8 @@
313291 &= ~BT_COEX_STATE_WIFI_RSSI_LOW;
314292 rtlpriv->btcoexist.cstate
315293 &= ~BT_COEX_STATE_WIFI_RSSI_MEDIUM;
316
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
317
- "[DM][BT], RSSI state switch to High\n");
294
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
295
+ "[DM][BT], RSSI state switch to High\n");
318296 } else if (undecoratedsmoothed_pwdb < rssi_thresh) {
319297 bt_rssi_state = BT_RSSI_STATE_LOW;
320298 rtlpriv->btcoexist.cstate
....@@ -323,12 +301,12 @@
323301 &= ~BT_COEX_STATE_WIFI_RSSI_HIGH;
324302 rtlpriv->btcoexist.cstate
325303 &= ~BT_COEX_STATE_WIFI_RSSI_MEDIUM;
326
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
327
- "[DM][BT], RSSI state switch to Low\n");
304
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
305
+ "[DM][BT], RSSI state switch to Low\n");
328306 } else {
329307 bt_rssi_state = BT_RSSI_STATE_STAY_MEDIUM;
330
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
331
- "[DM][BT], RSSI state stay at Medium\n");
308
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
309
+ "[DM][BT], RSSI state stay at Medium\n");
332310 }
333311 } else {
334312 if (undecoratedsmoothed_pwdb < rssi_thresh1) {
....@@ -339,12 +317,12 @@
339317 &= ~BT_COEX_STATE_WIFI_RSSI_HIGH;
340318 rtlpriv->btcoexist.cstate
341319 &= ~BT_COEX_STATE_WIFI_RSSI_LOW;
342
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
343
- "[DM][BT], RSSI state switch to Medium\n");
320
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
321
+ "[DM][BT], RSSI state switch to Medium\n");
344322 } else {
345323 bt_rssi_state = BT_RSSI_STATE_STAY_HIGH;
346
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
347
- "[DM][BT], RSSI state stay at High\n");
324
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
325
+ "[DM][BT], RSSI state stay at High\n");
348326 }
349327 }
350328 }
....@@ -364,9 +342,9 @@
364342 undecoratedsmoothed_pwdb
365343 = rtlpriv->dm.entry_min_undec_sm_pwdb;
366344 }
367
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
368
- "rtl8723e_dm_bt_get_rx_ss() = %ld\n",
369
- undecoratedsmoothed_pwdb);
345
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
346
+ "%s = %ld\n", __func__,
347
+ undecoratedsmoothed_pwdb);
370348
371349 return undecoratedsmoothed_pwdb;
372350 }
....@@ -389,10 +367,10 @@
389367 }
390368 rtlpriv->btcoexist.balance_on = balance_on;
391369
392
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
393
- "[DM][BT], Balance=[%s:%dms:%dms], write 0xc=0x%x\n",
394
- balance_on ? "ON" : "OFF", ms0, ms1, h2c_parameter[0]<<16 |
395
- h2c_parameter[1]<<8 | h2c_parameter[2]);
370
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
371
+ "[DM][BT], Balance=[%s:%dms:%dms], write 0xc=0x%x\n",
372
+ balance_on ? "ON" : "OFF", ms0, ms1, h2c_parameter[0] << 16 |
373
+ h2c_parameter[1] << 8 | h2c_parameter[2]);
396374
397375 rtl8723e_fill_h2c_cmd(hw, 0xc, 3, h2c_parameter);
398376 }
....@@ -403,8 +381,8 @@
403381 struct rtl_priv *rtlpriv = rtl_priv(hw);
404382
405383 if (type == BT_AGCTABLE_OFF) {
406
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
407
- "[BT]AGCTable Off!\n");
384
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
385
+ "[BT]AGCTable Off!\n");
408386 rtl_write_dword(rtlpriv, 0xc78, 0x641c0001);
409387 rtl_write_dword(rtlpriv, 0xc78, 0x631d0001);
410388 rtl_write_dword(rtlpriv, 0xc78, 0x621e0001);
....@@ -422,8 +400,8 @@
422400 rtl8723e_phy_set_rf_reg(hw, RF90_PATH_A,
423401 RF_RX_G1, 0xfffff, 0x30355);
424402 } else if (type == BT_AGCTABLE_ON) {
425
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
426
- "[BT]AGCTable On!\n");
403
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
404
+ "[BT]AGCTable On!\n");
427405 rtl_write_dword(rtlpriv, 0xc78, 0x4e1c0001);
428406 rtl_write_dword(rtlpriv, 0xc78, 0x4d1d0001);
429407 rtl_write_dword(rtlpriv, 0xc78, 0x4c1e0001);
....@@ -450,12 +428,12 @@
450428 struct rtl_priv *rtlpriv = rtl_priv(hw);
451429
452430 if (type == BT_BB_BACKOFF_OFF) {
453
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
454
- "[BT]BBBackOffLevel Off!\n");
431
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
432
+ "[BT]BBBackOffLevel Off!\n");
455433 rtl_write_dword(rtlpriv, 0xc04, 0x3a05611);
456434 } else if (type == BT_BB_BACKOFF_ON) {
457
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
458
- "[BT]BBBackOffLevel On!\n");
435
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
436
+ "[BT]BBBackOffLevel On!\n");
459437 rtl_write_dword(rtlpriv, 0xc04, 0x3a07611);
460438 rtlpriv->btcoexist.sw_coexist_all_off = false;
461439 }
....@@ -464,14 +442,14 @@
464442 void rtl8723e_dm_bt_fw_coex_all_off(struct ieee80211_hw *hw)
465443 {
466444 struct rtl_priv *rtlpriv = rtl_priv(hw);
467
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
468
- "rtl8723e_dm_bt_fw_coex_all_off()\n");
445
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
446
+ "rtl8723e_dm_bt_fw_coex_all_off()\n");
469447
470448 if (rtlpriv->btcoexist.fw_coexist_all_off)
471449 return;
472450
473
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
474
- "rtl8723e_dm_bt_fw_coex_all_off(), real Do\n");
451
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
452
+ "rtl8723e_dm_bt_fw_coex_all_off(), real Do\n");
475453 rtl8723e_dm_bt_fw_coex_all_off_8723a(hw);
476454 rtlpriv->btcoexist.fw_coexist_all_off = true;
477455 }
....@@ -480,14 +458,14 @@
480458 {
481459 struct rtl_priv *rtlpriv = rtl_priv(hw);
482460
483
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
484
- "rtl8723e_dm_bt_sw_coex_all_off()\n");
461
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
462
+ "%s\n", __func__);
485463
486464 if (rtlpriv->btcoexist.sw_coexist_all_off)
487465 return;
488466
489
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
490
- "rtl8723e_dm_bt_sw_coex_all_off(), real Do\n");
467
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
468
+ "%s, real Do\n", __func__);
491469 rtl8723e_dm_bt_sw_coex_all_off_8723a(hw);
492470 rtlpriv->btcoexist.sw_coexist_all_off = true;
493471 }
....@@ -496,13 +474,13 @@
496474 {
497475 struct rtl_priv *rtlpriv = rtl_priv(hw);
498476
499
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
500
- "rtl8723e_dm_bt_hw_coex_all_off()\n");
477
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
478
+ "%s\n", __func__);
501479
502480 if (rtlpriv->btcoexist.hw_coexist_all_off)
503481 return;
504
- RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
505
- "rtl8723e_dm_bt_hw_coex_all_off(), real Do\n");
482
+ rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_TRACE,
483
+ "%s, real Do\n", __func__);
506484
507485 rtl8723e_dm_bt_hw_coex_all_off_8723a(hw);
508486