Return-path: Received: from mail-ot0-f195.google.com ([74.125.82.195]:36627 "EHLO mail-ot0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751310AbeCTEH5 (ORCPT ); Tue, 20 Mar 2018 00:07:57 -0400 Received: by mail-ot0-f195.google.com with SMTP id 108-v6so307109otv.3 for ; Mon, 19 Mar 2018 21:07:56 -0700 (PDT) Subject: Re: [PATCH v2 15/15] rtlwifi: btcoex: Add 8822b routine to btc interfaces To: pkshih@realtek.com, kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org References: <20180306012554.3108-1-pkshih@realtek.com> <20180306012554.3108-16-pkshih@realtek.com> From: Larry Finger Message-ID: (sfid-20180320_050803_623597_5058B035) Date: Mon, 19 Mar 2018 23:05:45 -0500 MIME-Version: 1.0 In-Reply-To: <20180306012554.3108-16-pkshih@realtek.com> Content-Type: text/plain; charset=utf-8; format=flowed Sender: linux-wireless-owner@vger.kernel.org List-ID: On 03/05/2018 07:25 PM, pkshih@realtek.com wrote: > From: Ping-Ke Shih > > Add 8822b routines to run btcoex algorithm > > Signed-off-by: Ping-Ke Shih Acked-by: Larry Finger > --- > .../realtek/rtlwifi/btcoexist/halbtcoutsrc.c | 100 +++++++++++++++++++++ > 1 file changed, 100 insertions(+) > > 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); > } >