diff mbox

[v3,4/9] rtlwifi: btcoex: Add 8822b routine to btc interfaces

Message ID 20180410025226.5236-5-pkshih@realtek.com (mailing list archive)
State Changes Requested
Delegated to: Kalle Valo
Headers show

Commit Message

Ping-Ke Shih April 10, 2018, 2:52 a.m. UTC
From: Ping-Ke Shih <pkshih@realtek.com>

Add 8822b routines to run btcoex algorithm

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
---
 .../realtek/rtlwifi/btcoexist/halbtcoutsrc.c       | 100 +++++++++++++++++++++
 1 file changed, 100 insertions(+)

Comments

kernel test robot April 11, 2018, 6:15 p.m. UTC | #1
Hi Ping-Ke,

I love your patch! Yet something to improve:

[auto build test ERROR on wireless-drivers-next/master]
[also build test ERROR on next-20180411]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/pkshih-realtek-com/rtlwifi-btcoex-Add-8822b-btcoex-support/20180410-194853
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=alpha 

Note: the linux-review/pkshih-realtek-com/rtlwifi-btcoex-Add-8822b-btcoex-support/20180410-194853 HEAD d96bfa6717e0ea33a20a978ecb6c52fab18d15d3 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_power_on_setting':
>> (.text+0x27bc): undefined reference to `ex_btc8822b1ant_power_on_setting'
   (.text+0x27c0): undefined reference to `ex_btc8822b1ant_power_on_setting'
>> (.text+0x27d8): undefined reference to `ex_btc8822b2ant_power_on_setting'
   (.text+0x27dc): undefined reference to `ex_btc8822b2ant_power_on_setting'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_pre_load_firmware':
>> (.text+0x288c): undefined reference to `ex_btc8822b1ant_pre_load_firmware'
   (.text+0x2890): undefined reference to `ex_btc8822b1ant_pre_load_firmware'
>> (.text+0x28a8): undefined reference to `ex_btc8822b2ant_pre_load_firmware'
   (.text+0x28ac): undefined reference to `ex_btc8822b2ant_pre_load_firmware'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_init_hw_config':
>> (.text+0x2a0c): undefined reference to `ex_btc8822b1ant_init_hw_config'
   (.text+0x2a10): undefined reference to `ex_btc8822b1ant_init_hw_config'
>> (.text+0x2a38): undefined reference to `ex_btc8822b2ant_init_hw_config'
   (.text+0x2a3c): undefined reference to `ex_btc8822b2ant_init_hw_config'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_init_hw_config_wifi_only':
>> (.text+0x2ae4): undefined reference to `ex_hal8822b_wifi_only_hw_config'
   (.text+0x2ae8): undefined reference to `ex_hal8822b_wifi_only_hw_config'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_init_coex_dm':
>> (.text+0x2c2c): undefined reference to `ex_btc8822b1ant_init_coex_dm'
   (.text+0x2c30): undefined reference to `ex_btc8822b1ant_init_coex_dm'
>> (.text+0x2c48): undefined reference to `ex_btc8822b2ant_init_coex_dm'
   (.text+0x2c4c): undefined reference to `ex_btc8822b2ant_init_coex_dm'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_ips_notify':
>> (.text+0x2dbc): undefined reference to `ex_btc8822b1ant_ips_notify'
   (.text+0x2dc0): undefined reference to `ex_btc8822b1ant_ips_notify'
>> (.text+0x2dd8): undefined reference to `ex_btc8822b2ant_ips_notify'
   (.text+0x2ddc): undefined reference to `ex_btc8822b2ant_ips_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_lps_notify':
>> (.text+0x2f3c): undefined reference to `ex_btc8822b1ant_lps_notify'
   (.text+0x2f40): undefined reference to `ex_btc8822b1ant_lps_notify'
>> (.text+0x2f58): undefined reference to `ex_btc8822b2ant_lps_notify'
   (.text+0x2f5c): undefined reference to `ex_btc8822b2ant_lps_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_scan_notify':
>> (.text+0x30bc): undefined reference to `ex_btc8822b1ant_scan_notify'
   (.text+0x30c0): undefined reference to `ex_btc8822b1ant_scan_notify'
>> (.text+0x30d8): undefined reference to `ex_btc8822b2ant_scan_notify'
   (.text+0x30dc): undefined reference to `ex_btc8822b2ant_scan_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_scan_notify_wifi_only':
>> (.text+0x3124): undefined reference to `ex_hal8822b_wifi_only_scannotify'
   (.text+0x3128): undefined reference to `ex_hal8822b_wifi_only_scannotify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_connect_notify':
>> (.text+0x332c): undefined reference to `ex_btc8822b1ant_connect_notify'
   (.text+0x3334): undefined reference to `ex_btc8822b1ant_connect_notify'
>> (.text+0x3358): undefined reference to `ex_btc8822b2ant_connect_notify'
   (.text+0x3360): undefined reference to `ex_btc8822b2ant_connect_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_mediastatus_notify':
>> (.text+0x34bc): undefined reference to `ex_btc8822b1ant_media_status_notify'
   (.text+0x34c0): undefined reference to `ex_btc8822b1ant_media_status_notify'
>> (.text+0x34d8): undefined reference to `ex_btc8822b2ant_media_status_notify'
   (.text+0x34dc): undefined reference to `ex_btc8822b2ant_media_status_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_special_packet_notify':
   (.text+0x364c): undefined reference to `ex_btc8822b1ant_specific_packet_notify'
   (.text+0x3650): undefined reference to `ex_btc8822b1ant_specific_packet_notify'
   (.text+0x3668): undefined reference to `ex_btc8822b2ant_specific_packet_notify'
   (.text+0x366c): undefined reference to `ex_btc8822b2ant_specific_packet_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_bt_info_notify':
   (.text+0x37bc): undefined reference to `ex_btc8822b1ant_bt_info_notify'
   (.text+0x37c0): undefined reference to `ex_btc8822b1ant_bt_info_notify'
   (.text+0x37d8): undefined reference to `ex_btc8822b2ant_bt_info_notify'
   (.text+0x37dc): undefined reference to `ex_btc8822b2ant_bt_info_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_rf_status_notify':
   (.text+0x388c): undefined reference to `ex_btc8822b1ant_rf_status_notify'
   (.text+0x3890): undefined reference to `ex_btc8822b1ant_rf_status_notify'
   (.text+0x38a8): undefined reference to `ex_btc8822b2ant_rf_status_notify'
   (.text+0x38ac): undefined reference to `ex_btc8822b2ant_rf_status_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_halt_notify':
   (.text+0x3a4c): undefined reference to `ex_btc8822b1ant_halt_notify'
   (.text+0x3a50): undefined reference to `ex_btc8822b1ant_halt_notify'
   (.text+0x3a78): undefined reference to `ex_btc8822b2ant_halt_notify'
   (.text+0x3a7c): undefined reference to `ex_btc8822b2ant_halt_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_pnp_notify':
   (.text+0x3b9c): undefined reference to `ex_btc8822b1ant_pnp_notify'
   (.text+0x3ba0): undefined reference to `ex_btc8822b1ant_pnp_notify'
   (.text+0x3bb8): undefined reference to `ex_btc8822b2ant_pnp_notify'
   (.text+0x3bbc): undefined reference to `ex_btc8822b2ant_pnp_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_periodical':
   (.text+0x3eac): undefined reference to `ex_btc8822b1ant_periodical'
   (.text+0x3eb0): undefined reference to `ex_btc8822b1ant_periodical'
   (.text+0x3ec8): undefined reference to `ex_btc8822b2ant_periodical'
   (.text+0x3ecc): undefined reference to `ex_btc8822b2ant_periodical'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_display_bt_coex_info':
   (.text+0x431c): undefined reference to `ex_btc8822b1ant_display_coex_info'
   (.text+0x4320): undefined reference to `ex_btc8822b1ant_display_coex_info'
   (.text+0x4338): undefined reference to `ex_btc8822b2ant_display_coex_info'
   (.text+0x433c): undefined reference to `ex_btc8822b2ant_display_coex_info'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_switch_band_notify':
   (.text+0x43b8): undefined reference to `ex_btc8822b1ant_switchband_notify'
   (.text+0x43bc): undefined reference to `ex_btc8822b1ant_switchband_notify'
   (.text+0x43d8): undefined reference to `ex_btc8822b2ant_switchband_notify'
   (.text+0x43dc): undefined reference to `ex_btc8822b2ant_switchband_notify'
   drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.o: In function `exhalbtc_switch_band_notify_wifi_only':
   (.text+0x4424): undefined reference to `ex_hal8822b_wifi_only_switchbandnotify'
   (.text+0x4428): undefined reference to `ex_hal8822b_wifi_only_switchbandnotify'

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
index 8b6b07a936f5..e0f9985582f9 100644
--- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
+++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
@@ -1441,6 +1441,11 @@  void exhalbtc_power_on_setting(struct btc_coexist *btcoexist)
 			ex_btc8723b2ant_power_on_setting(btcoexist);
 		else if (btcoexist->board_info.btdm_ant_num == 1)
 			ex_btc8723b1ant_power_on_setting(btcoexist);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_power_on_setting(btcoexist);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_power_on_setting(btcoexist);
 	}
 }
 
@@ -1454,6 +1459,11 @@  void exhalbtc_pre_load_firmware(struct btc_coexist *btcoexist)
 	if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8723b2ant_pre_load_firmware(btcoexist);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_pre_load_firmware(btcoexist);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_pre_load_firmware(btcoexist);
 	}
 }
 
@@ -1479,11 +1489,21 @@  void exhalbtc_init_hw_config(struct btc_coexist *btcoexist, bool wifi_only)
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_init_hwconfig(btcoexist);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_init_hw_config(btcoexist, wifi_only);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_init_hw_config(btcoexist, wifi_only);
+
+		halbtc_set_default_port_id_cmd(btcoexist);
+		halbtc_send_wifi_port_id_cmd(btcoexist);
 	}
 }
 
 void exhalbtc_init_hw_config_wifi_only(struct wifi_only_cfg *wifionly_cfg)
 {
+	if (IS_HARDWARE_TYPE_8822B(wifionly_cfg->adapter))
+		ex_hal8822b_wifi_only_hw_config(wifionly_cfg);
 }
 
 void exhalbtc_init_coex_dm(struct btc_coexist *btcoexist)
@@ -1506,6 +1526,11 @@  void exhalbtc_init_coex_dm(struct btc_coexist *btcoexist)
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_init_coex_dm(btcoexist);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_init_coex_dm(btcoexist);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_init_coex_dm(btcoexist);
 	}
 
 	btcoexist->initilized = true;
@@ -1541,6 +1566,11 @@  void exhalbtc_ips_notify(struct btc_coexist *btcoexist, u8 type)
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_ips_notify(btcoexist, ips_type);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_ips_notify(btcoexist, ips_type);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_ips_notify(btcoexist, ips_type);
 	}
 
 	halbtc_normal_low_power(btcoexist);
@@ -1574,6 +1604,11 @@  void exhalbtc_lps_notify(struct btc_coexist *btcoexist, u8 type)
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_lps_notify(btcoexist, lps_type);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_lps_notify(btcoexist, lps_type);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_lps_notify(btcoexist, lps_type);
 	}
 }
 
@@ -1607,6 +1642,11 @@  void exhalbtc_scan_notify(struct btc_coexist *btcoexist, u8 type)
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_scan_notify(btcoexist, scan_type);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_scan_notify(btcoexist, scan_type);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_scan_notify(btcoexist, scan_type);
 	}
 
 	halbtc_normal_low_power(btcoexist);
@@ -1615,6 +1655,8 @@  void exhalbtc_scan_notify(struct btc_coexist *btcoexist, u8 type)
 void exhalbtc_scan_notify_wifi_only(struct wifi_only_cfg *wifionly_cfg,
 				    u8 is_5g)
 {
+	if (IS_HARDWARE_TYPE_8822B(wifionly_cfg->adapter))
+		ex_hal8822b_wifi_only_scannotify(wifionly_cfg, is_5g);
 }
 
 void exhalbtc_connect_notify(struct btc_coexist *btcoexist, u8 action)
@@ -1655,6 +1697,11 @@  void exhalbtc_connect_notify(struct btc_coexist *btcoexist, u8 action)
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_connect_notify(btcoexist, asso_type);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_connect_notify(btcoexist, asso_type_v2);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_connect_notify(btcoexist, asso_type_v2);
 	}
 
 	halbtc_normal_low_power(btcoexist);
@@ -1691,6 +1738,11 @@  void exhalbtc_mediastatus_notify(struct btc_coexist *btcoexist,
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_media_status_notify(btcoexist, status);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_media_status_notify(btcoexist, status);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_media_status_notify(btcoexist, status);
 	}
 
 	halbtc_normal_low_power(btcoexist);
@@ -1737,6 +1789,13 @@  void exhalbtc_special_packet_notify(struct btc_coexist *btcoexist, u8 pkt_type)
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_special_packet_notify(btcoexist,
 							      packet_type);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_specific_packet_notify(btcoexist,
+							       packet_type);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_specific_packet_notify(btcoexist,
+							       packet_type);
 	}
 
 	halbtc_normal_low_power(btcoexist);
@@ -1769,6 +1828,13 @@  void exhalbtc_bt_info_notify(struct btc_coexist *btcoexist,
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_bt_info_notify(btcoexist, tmp_buf,
 						       length);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_bt_info_notify(btcoexist, tmp_buf,
+						       length);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_bt_info_notify(btcoexist, tmp_buf,
+						       length);
 	}
 
 	halbtc_normal_low_power(btcoexist);
@@ -1784,6 +1850,11 @@  void exhalbtc_rf_status_notify(struct btc_coexist *btcoexist, u8 type)
 		if (btcoexist->board_info.btdm_ant_num == 1)
 			ex_btc8723b1ant_rf_status_notify(btcoexist, type);
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_rf_status_notify(btcoexist, type);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_rf_status_notify(btcoexist, type);
 	}
 }
 
@@ -1829,6 +1900,11 @@  void exhalbtc_halt_notify(struct btc_coexist *btcoexist)
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_halt_notify(btcoexist);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_halt_notify(btcoexist);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_halt_notify(btcoexist);
 	}
 
 	btcoexist->binded = false;
@@ -1855,6 +1931,11 @@  void exhalbtc_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state)
 		else if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8821a2ant_pnp_notify(btcoexist, pnp_state);
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_pnp_notify(btcoexist, pnp_state);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_pnp_notify(btcoexist, pnp_state);
 	}
 }
 
@@ -1905,6 +1986,11 @@  void exhalbtc_periodical(struct btc_coexist *btcoexist)
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_periodical(btcoexist);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_periodical(btcoexist);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_periodical(btcoexist);
 	}
 
 	halbtc_normal_low_power(btcoexist);
@@ -2038,6 +2124,11 @@  void exhalbtc_display_bt_coex_info(struct btc_coexist *btcoexist,
 	} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
 		if (btcoexist->board_info.btdm_ant_num == 2)
 			ex_btc8192e2ant_display_coex_info(btcoexist, m);
+	} else if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_display_coex_info(btcoexist, m);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_display_coex_info(btcoexist, m);
 	}
 
 	halbtc_normal_low_power(btcoexist);
@@ -2053,10 +2144,19 @@  void exhalbtc_switch_band_notify(struct btc_coexist *btcoexist, u8 type)
 
 	halbtc_leave_low_power(btcoexist);
 
+	if (IS_HARDWARE_TYPE_8822B(btcoexist->adapter)) {
+		if (btcoexist->board_info.btdm_ant_num == 1)
+			ex_btc8822b1ant_switchband_notify(btcoexist, type);
+		else if (btcoexist->board_info.btdm_ant_num == 2)
+			ex_btc8822b2ant_switchband_notify(btcoexist, type);
+	}
+
 	halbtc_normal_low_power(btcoexist);
 }
 
 void exhalbtc_switch_band_notify_wifi_only(struct wifi_only_cfg *wifionly_cfg,
 					   u8 is_5g)
 {
+	if (IS_HARDWARE_TYPE_8822B(wifionly_cfg->adapter))
+		ex_hal8822b_wifi_only_switchbandnotify(wifionly_cfg, is_5g);
 }