Commit 127da1aa authored by Ching-Te Ku's avatar Ching-Te Ku Committed by Kalle Valo
Browse files

wifi: rtw89: coex: move chip_ops::btc_bt_aci_imp to a generic code



This chunk is to set fixed BT LNA2 at level5 when WiFi/BT shared BTG RFC
to improve BT anti-interference ability from adjacent channel. Since all
chips use the same setting, remove chip_ops::btc_bt_aci_imp.

Signed-off-by: default avatarChing-Te Ku <ku920601@realtek.com>
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20221005083212.45683-2-pkshih@realtek.com
parent 53d0ce0c
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1809,13 +1809,18 @@ static void _set_rf_trx_para(struct rtw89_dev *rtwdev)
	struct rtw89_btc_dm *dm = &btc->dm;
	struct rtw89_btc_wl_info *wl = &btc->cx.wl;
	struct rtw89_btc_bt_info *bt = &btc->cx.bt;
	struct rtw89_btc_bt_link_info *b = &bt->link_info;
	struct rtw89_btc_rf_trx_para para;
	u32 wl_stb_chg = 0;
	u8 level_id = 0;

	if (!dm->freerun) {
		/* fix LNA2 = level-5 for BT ACI issue at BTG */
		if ((btc->dm.wl_btg_rx && b->profile_cnt.now != 0) ||
		    dm->bt_only == 1)
			dm->trx_para_level = 1;
		else
			dm->trx_para_level = 0;
		chip->ops->btc_bt_aci_imp(rtwdev);
	}

	level_id = (u8)dm->trx_para_level;
+0 −1
Original line number Diff line number Diff line
@@ -2363,7 +2363,6 @@ struct rtw89_chip_ops {
	void (*btc_set_wl_pri)(struct rtw89_dev *rtwdev, u8 map, bool state);
	void (*btc_set_wl_txpwr_ctrl)(struct rtw89_dev *rtwdev, u32 txpwr_val);
	s8 (*btc_get_bt_rssi)(struct rtw89_dev *rtwdev, s8 val);
	void (*btc_bt_aci_imp)(struct rtw89_dev *rtwdev);
	void (*btc_update_bt_cnt)(struct rtw89_dev *rtwdev);
	void (*btc_wl_s1_standby)(struct rtw89_dev *rtwdev, bool state);
	void (*btc_set_policy)(struct rtw89_dev *rtwdev, u16 policy_type);
+0 −14
Original line number Diff line number Diff line
@@ -1870,19 +1870,6 @@ static struct rtw89_btc_fbtc_mreg rtw89_btc_8852a_mon_reg[] = {
	RTW89_DEF_FBTC_MREG(REG_BT_MODEM, 4, 0x178),
};

static
void rtw8852a_btc_bt_aci_imp(struct rtw89_dev *rtwdev)
{
	struct rtw89_btc *btc = &rtwdev->btc;
	struct rtw89_btc_dm *dm = &btc->dm;
	struct rtw89_btc_bt_info *bt = &btc->cx.bt;
	struct rtw89_btc_bt_link_info *b = &bt->link_info;

	/* fix LNA2 = level-5 for BT ACI issue at BTG */
	if (btc->dm.wl_btg_rx && b->profile_cnt.now != 0)
		dm->trx_para_level = 1;
}

static
void rtw8852a_btc_update_bt_cnt(struct rtw89_dev *rtwdev)
{
@@ -2041,7 +2028,6 @@ static const struct rtw89_chip_ops rtw8852a_chip_ops = {
	.btc_set_wl_pri		= rtw8852a_btc_set_wl_pri,
	.btc_set_wl_txpwr_ctrl	= rtw8852a_btc_set_wl_txpwr_ctrl,
	.btc_get_bt_rssi	= rtw8852a_btc_get_bt_rssi,
	.btc_bt_aci_imp		= rtw8852a_btc_bt_aci_imp,
	.btc_update_bt_cnt	= rtw8852a_btc_update_bt_cnt,
	.btc_wl_s1_standby	= rtw8852a_btc_wl_s1_standby,
	.btc_set_wl_rx_gain	= rtw8852a_btc_set_wl_rx_gain,
+0 −14
Original line number Diff line number Diff line
@@ -2684,19 +2684,6 @@ static const struct rtw89_btc_fbtc_mreg rtw89_btc_8852c_mon_reg[] = {
	RTW89_DEF_FBTC_MREG(REG_BB, 4, 0x980),
};

static
void rtw8852c_btc_bt_aci_imp(struct rtw89_dev *rtwdev)
{
	struct rtw89_btc *btc = &rtwdev->btc;
	struct rtw89_btc_dm *dm = &btc->dm;
	struct rtw89_btc_bt_info *bt = &btc->cx.bt;
	struct rtw89_btc_bt_link_info *b = &bt->link_info;

	/* fix LNA2 = level-5 for BT ACI issue at BTG */
	if (btc->dm.wl_btg_rx && b->profile_cnt.now != 0)
		dm->trx_para_level = 1;
}

static
void rtw8852c_btc_update_bt_cnt(struct rtw89_dev *rtwdev)
{
@@ -2893,7 +2880,6 @@ static const struct rtw89_chip_ops rtw8852c_chip_ops = {
	.btc_set_wl_pri		= rtw8852c_btc_set_wl_pri,
	.btc_set_wl_txpwr_ctrl	= rtw8852c_btc_set_wl_txpwr_ctrl,
	.btc_get_bt_rssi	= rtw8852c_btc_get_bt_rssi,
	.btc_bt_aci_imp		= rtw8852c_btc_bt_aci_imp,
	.btc_update_bt_cnt	= rtw8852c_btc_update_bt_cnt,
	.btc_wl_s1_standby	= rtw8852c_btc_wl_s1_standby,
	.btc_set_wl_rx_gain	= rtw8852c_btc_set_wl_rx_gain,