mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 11:03:43 +02:00
wifi: rtw89: coex: Limit Wi-Fi scan slot cost to avoid A2DP glitch
When Wi-Fi is scanning at 2.4GHz, PTA will abort almost all the BT request. Once the Wi-Fi slot stay too long, BT audio device can not get enough data, audio glitch will happened. This patch limit 2.4Ghz Wi-Fi slot to 80ms while Wi-Fi is scanning to avoid audio glitch. Signed-off-by: Ching-Te Ku <ku920601@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20250819034428.26307-5-pkshih@realtek.com
This commit is contained in:
parent
d47c1c6f32
commit
ebea22c7f1
|
|
@ -93,7 +93,7 @@ static const struct rtw89_btc_fbtc_slot s_def[] = {
|
|||
[CXST_E2G] = __DEF_FBTC_SLOT(5, 0xea5a5a5a, SLOT_MIX),
|
||||
[CXST_E5G] = __DEF_FBTC_SLOT(5, 0xffffffff, SLOT_ISO),
|
||||
[CXST_EBT] = __DEF_FBTC_SLOT(5, 0xe5555555, SLOT_MIX),
|
||||
[CXST_ENULL] = __DEF_FBTC_SLOT(5, 0xaaaaaaaa, SLOT_ISO),
|
||||
[CXST_ENULL] = __DEF_FBTC_SLOT(5, 0x55555555, SLOT_MIX),
|
||||
[CXST_WLK] = __DEF_FBTC_SLOT(250, 0xea5a5a5a, SLOT_MIX),
|
||||
[CXST_W1FDD] = __DEF_FBTC_SLOT(50, 0xffffffff, SLOT_ISO),
|
||||
[CXST_B1FDD] = __DEF_FBTC_SLOT(50, 0xffffdfff, SLOT_ISO),
|
||||
|
|
@ -4153,6 +4153,7 @@ void rtw89_btc_set_policy_v1(struct rtw89_dev *rtwdev, u16 policy_type)
|
|||
s_def[CXST_EBT].cxtbl, s_def[CXST_EBT].cxtype);
|
||||
_slot_set_le(btc, CXST_ENULL, s_def[CXST_ENULL].dur,
|
||||
s_def[CXST_ENULL].cxtbl, s_def[CXST_ENULL].cxtype);
|
||||
_slot_set_dur(btc, CXST_EBT, dur_2);
|
||||
break;
|
||||
case BTC_CXP_OFFE_DEF2:
|
||||
_slot_set(btc, CXST_E2G, 20, cxtbl[1], SLOT_ISO);
|
||||
|
|
@ -4162,6 +4163,7 @@ void rtw89_btc_set_policy_v1(struct rtw89_dev *rtwdev, u16 policy_type)
|
|||
s_def[CXST_EBT].cxtbl, s_def[CXST_EBT].cxtype);
|
||||
_slot_set_le(btc, CXST_ENULL, s_def[CXST_ENULL].dur,
|
||||
s_def[CXST_ENULL].cxtbl, s_def[CXST_ENULL].cxtype);
|
||||
_slot_set_dur(btc, CXST_EBT, dur_2);
|
||||
break;
|
||||
case BTC_CXP_OFFE_2GBWMIXB:
|
||||
if (a2dp->exist)
|
||||
|
|
@ -4170,6 +4172,7 @@ void rtw89_btc_set_policy_v1(struct rtw89_dev *rtwdev, u16 policy_type)
|
|||
_slot_set(btc, CXST_E2G, 5, tbl_w1, SLOT_MIX);
|
||||
_slot_set_le(btc, CXST_EBT, cpu_to_le16(40),
|
||||
s_def[CXST_EBT].cxtbl, s_def[CXST_EBT].cxtype);
|
||||
_slot_set_dur(btc, CXST_EBT, dur_2);
|
||||
break;
|
||||
case BTC_CXP_OFFE_WL: /* for 4-way */
|
||||
_slot_set(btc, CXST_E2G, 5, cxtbl[1], SLOT_MIX);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user