Lines Matching refs:btc

549 	struct rtw89_btc *btc = &rtwdev->btc;  in _reset_btc_var()  local
550 struct rtw89_btc_cx *cx = &btc->cx; in _reset_btc_var()
551 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _reset_btc_var()
552 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _reset_btc_var()
565 memset(&btc->ctrl, 0, sizeof(btc->ctrl)); in _reset_btc_var()
566 btc->ctrl.trace_step = FCXDEF_STEP; in _reset_btc_var()
571 memset(&btc->dm, 0, sizeof(btc->dm)); in _reset_btc_var()
579 btc->dm.tdma_now = t_def[CXTD_OFF]; in _reset_btc_var()
580 btc->dm.tdma = t_def[CXTD_OFF]; in _reset_btc_var()
581 memcpy(&btc->dm.slot_now, s_def, sizeof(btc->dm.slot_now)); in _reset_btc_var()
582 memcpy(&btc->dm.slot, s_def, sizeof(btc->dm.slot)); in _reset_btc_var()
584 btc->policy_len = 0; in _reset_btc_var()
585 btc->bt_req_len = 0; in _reset_btc_var()
587 btc->dm.coex_info_map = BTC_COEX_INFO_ALL; in _reset_btc_var()
588 btc->dm.wl_tx_limit.tx_time = BTC_MAX_TX_TIME_DEF; in _reset_btc_var()
589 btc->dm.wl_tx_limit.tx_retry = BTC_MAX_TX_RETRY_DEF; in _reset_btc_var()
593 memset(&btc->mdinfo, 0, sizeof(btc->mdinfo)); in _reset_btc_var()
604 struct rtw89_btc *btc = &rtwdev->btc; in _chk_btc_err() local
605 struct rtw89_btc_cx *cx = &btc->cx; in _chk_btc_err()
606 struct rtw89_btc_dm *dm = &btc->dm; in _chk_btc_err()
615 if (dm->cnt_dm[BTC_DCNT_RPT] == cnt && btc->fwinfo.rpt_en_map) in _chk_btc_err()
724 struct rtw89_btc *btc = &rtwdev->btc; in _update_bt_report() local
725 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _update_bt_report()
849 struct rtw89_btc *btc = &rtwdev->btc; in _chk_btc_report() local
850 struct rtw89_btc_dm *dm = &btc->dm; in _chk_btc_report()
852 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _chk_btc_report()
860 u32 trace_step = btc->ctrl.trace_step, rpt_len = 0, diff_t; in _chk_btc_report()
1102 btc->fwinfo.rpt_en_map = prpt->rpt_enable; in _chk_btc_report()
1146 struct rtw89_btc *btc = &rtwdev->btc; in _append_tdma() local
1147 struct rtw89_btc_dm *dm = &btc->dm; in _append_tdma()
1150 u16 len = btc->policy_len; in _append_tdma()
1152 if (!btc->update_policy_force && in _append_tdma()
1160 tlv = (struct rtw89_btc_btf_tlv *)&btc->policy[len]; in _append_tdma()
1166 btc->policy_len += BTC_TLV_HDR_LEN + sizeof(*v); in _append_tdma()
1177 struct rtw89_btc *btc = &rtwdev->btc; in _append_slot() local
1178 struct rtw89_btc_dm *dm = &btc->dm; in _append_slot()
1186 __func__, btc->policy_len); in _append_slot()
1189 if (!btc->update_policy_force && in _append_slot()
1194 len = btc->policy_len; in _append_slot()
1196 tlv = (struct rtw89_btc_btf_tlv *)&btc->policy[len]; in _append_slot()
1211 btc->policy_len += BTC_TLV_HDR_LEN + sizeof(*v); in _append_slot()
1223 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_fw_en_rpt() local
1224 struct rtw89_btc_btf_fwinfo *fwinfo = &btc->fwinfo; in rtw89_btc_fw_en_rpt()
1311 struct rtw89_btc *btc = &rtwdev->btc; in _update_dm_step() local
1312 struct rtw89_btc_dm *dm = &btc->dm; in _update_dm_step()
1327 struct rtw89_btc *btc = &rtwdev->btc; in _fw_set_policy() local
1328 struct rtw89_btc_dm *dm = &btc->dm; in _fw_set_policy()
1335 btc->policy_len = 0; in _fw_set_policy()
1336 btc->policy_type = policy_type; in _fw_set_policy()
1341 if (btc->policy_len == 0 || btc->policy_len > RTW89_BTC_POLICY_MAXLEN) in _fw_set_policy()
1346 __func__, action, policy_type, btc->policy_len); in _fw_set_policy()
1350 btc->lps = 1; in _fw_set_policy()
1352 btc->lps = 0; in _fw_set_policy()
1354 if (btc->lps == 1) in _fw_set_policy()
1355 rtw89_set_coex_ctrl_lps(rtwdev, btc->lps); in _fw_set_policy()
1358 btc->policy, btc->policy_len); in _fw_set_policy()
1363 if (btc->update_policy_force) in _fw_set_policy()
1364 btc->update_policy_force = false; in _fw_set_policy()
1366 if (btc->lps == 0) in _fw_set_policy()
1367 rtw89_set_coex_ctrl_lps(rtwdev, btc->lps); in _fw_set_policy()
1393 struct rtw89_btc *btc = &rtwdev->btc; in btc_fw_event() local
1394 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in btc_fw_event()
1414 struct rtw89_btc *btc = &rtwdev->btc; in _set_gnt_wl() local
1415 struct rtw89_btc_dm *dm = &btc->dm; in _set_gnt_wl()
1467 struct rtw89_btc *btc = &rtwdev->btc; in _set_wl_tx_power() local
1468 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _set_wl_tx_power()
1475 btc->dm.rf_trx_para.wl_tx_power = level; in _set_wl_tx_power()
1498 struct rtw89_btc *btc = &rtwdev->btc; in _set_wl_rx_gain() local
1499 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _set_wl_rx_gain()
1505 btc->dm.rf_trx_para.wl_rx_gain = level; in _set_wl_rx_gain()
1514 struct rtw89_btc *btc = &rtwdev->btc; in _set_bt_tx_power() local
1515 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _set_bt_tx_power()
1522 btc->dm.rf_trx_para.bt_tx_power = level; in _set_bt_tx_power()
1536 struct rtw89_btc *btc = &rtwdev->btc; in _set_bt_rx_gain() local
1537 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _set_bt_rx_gain()
1544 btc->dm.rf_trx_para.bt_rx_gain = level; in _set_bt_rx_gain()
1561 struct rtw89_btc *btc = &rtwdev->btc; in _set_rf_trx_para() local
1562 struct rtw89_btc_dm *dm = &btc->dm; in _set_rf_trx_para()
1563 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _set_rf_trx_para()
1564 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _set_rf_trx_para()
1615 struct rtw89_btc *btc = &rtwdev->btc; in _update_btc_state_map() local
1616 struct rtw89_btc_cx *cx = &btc->cx; in _update_btc_state_map()
1642 struct rtw89_btc *btc = &rtwdev->btc; in _set_bt_afh_info() local
1643 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _set_bt_afh_info()
1644 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _set_bt_afh_info()
1649 if (btc->ctrl.manual || wl->status.map.scan) in _set_bt_afh_info()
1723 btc->cx.cnt_wl[BTC_WCNT_CH_UPDATE]++; in _set_bt_afh_info()
1728 struct rtw89_btc *btc = &rtwdev->btc; in _check_freerun() local
1729 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _check_freerun()
1730 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _check_freerun()
1735 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { in _check_freerun()
1736 btc->dm.trx_para_level = 0; in _check_freerun()
1742 btc->dm.trx_para_level = 5; in _check_freerun()
1747 btc->dm.trx_para_level = 5; in _check_freerun()
1752 btc->dm.trx_para_level = 5; in _check_freerun()
1757 if (btc->mdinfo.ant.isolation >= BTC_FREERUN_ANTISO_MIN) { in _check_freerun()
1758 btc->dm.trx_para_level = 5; in _check_freerun()
1763 btc->dm.trx_para_level = 5; in _check_freerun()
1766 btc->dm.trx_para_level = 0; in _check_freerun()
1770 btc->dm.trx_para_level = 6; in _check_freerun()
1773 btc->dm.trx_para_level = 7; in _check_freerun()
1776 btc->dm.trx_para_level = 0; in _check_freerun()
1780 btc->dm.trx_para_level = 6; in _check_freerun()
1785 btc->dm.trx_para_level = 0; in _check_freerun()
1789 #define _tdma_set_flctrl(btc, flc) ({(btc)->dm.tdma.rxflctrl = flc; }) argument
1790 #define _tdma_set_tog(btc, wtg) ({(btc)->dm.tdma.wtgle_n = wtg; }) argument
1791 #define _tdma_set_lek(btc, lek) ({(btc)->dm.tdma.leak_n = lek; }) argument
1793 #define _slot_set(btc, sid, dura, tbl, type) \ argument
1796 typeof(btc) _btc = (btc); \
1802 #define _slot_set_dur(btc, sid, dura) (btc)->dm.slot[sid].dur = cpu_to_le16(dura) argument
1803 #define _slot_set_tbl(btc, sid, tbl) (btc)->dm.slot[sid].cxtbl = cpu_to_le32(tbl) argument
1804 #define _slot_set_type(btc, sid, type) (btc)->dm.slot[sid].cxtype = cpu_to_le16(type) argument
1868 struct rtw89_btc *btc = &rtwdev->btc; in _set_policy() local
1869 struct rtw89_btc_dm *dm = &btc->dm; in _set_policy()
1875 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { in _set_policy()
1876 if (btc->cx.wl.status.map._4way) in _set_policy()
1889 btc->bt_req_en = false; in _set_policy()
1895 _slot_set_tbl(btc, CXST_OFF, cxtbl[2]); in _set_policy()
1896 btc->update_policy_force = true; in _set_policy()
1905 _slot_set_tbl(btc, CXST_OFF, cxtbl[2]); in _set_policy()
1908 _slot_set_tbl(btc, CXST_OFF, cxtbl[1]); in _set_policy()
1911 _slot_set_tbl(btc, CXST_OFF, cxtbl[0]); in _set_policy()
1914 _slot_set_tbl(btc, CXST_OFF, cxtbl[16]); in _set_policy()
1917 _slot_set_tbl(btc, CXST_OFF, cxtbl[17]); in _set_policy()
1920 _slot_set_tbl(btc, CXST_OFF, cxtbl[18]); in _set_policy()
1923 _slot_set_tbl(btc, CXST_OFF, cxtbl[5]); in _set_policy()
1926 _slot_set_tbl(btc, CXST_OFF, cxtbl[8]); in _set_policy()
1936 _slot_set_tbl(btc, CXST_OFF, cxtbl[8]); in _set_policy()
1941 btc->bt_req_en = true; in _set_policy()
1952 _slot_set(btc, CXST_E2G, 20, cxtbl[1], SLOT_ISO); in _set_policy()
1964 _slot_set(btc, CXST_W1, 30, tbl_w1, SLOT_ISO); in _set_policy()
1965 _slot_set(btc, CXST_B1, 30, tbl_b1, SLOT_MIX); in _set_policy()
1968 _slot_set(btc, CXST_W1, 50, tbl_w1, SLOT_ISO); in _set_policy()
1969 _slot_set(btc, CXST_B1, 50, tbl_b1, SLOT_MIX); in _set_policy()
1972 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
1973 _slot_set(btc, CXST_B1, 30, tbl_b1, SLOT_MIX); in _set_policy()
1976 _slot_set(btc, CXST_W1, 40, tbl_w1, SLOT_ISO); in _set_policy()
1977 _slot_set(btc, CXST_B1, 10, tbl_b1, SLOT_MIX); in _set_policy()
1980 _slot_set(btc, CXST_W1, 40, cxtbl[1], SLOT_MIX); in _set_policy()
1981 _slot_set(btc, CXST_B1, 20, tbl_b1, SLOT_MIX); in _set_policy()
1984 _slot_set(btc, CXST_W1, 70, tbl_w1, SLOT_ISO); in _set_policy()
1985 _slot_set(btc, CXST_B1, 10, tbl_b1, SLOT_MIX); in _set_policy()
1988 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
1989 _slot_set(btc, CXST_B1, 60, tbl_b1, SLOT_MIX); in _set_policy()
1992 _slot_set(btc, CXST_W1, 30, tbl_w1, SLOT_ISO); in _set_policy()
1993 _slot_set(btc, CXST_B1, 60, tbl_b1, SLOT_MIX); in _set_policy()
1996 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
1997 _slot_set(btc, CXST_B1, 80, tbl_b1, SLOT_MIX); in _set_policy()
2000 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in _set_policy()
2002 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in _set_policy()
2010 if (btc->cx.wl.role_info.role_map.role.ap) in _set_policy()
2011 _tdma_set_flctrl(btc, CXFLC_QOSNULL); in _set_policy()
2015 _slot_set(btc, CXST_W1, 30, tbl_w1, SLOT_ISO); in _set_policy()
2016 _slot_set(btc, CXST_B1, 30, tbl_b1, SLOT_MIX); in _set_policy()
2019 _slot_set(btc, CXST_W1, 50, tbl_w1, SLOT_ISO); in _set_policy()
2020 _slot_set(btc, CXST_B1, 50, tbl_b1, SLOT_MIX); in _set_policy()
2023 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
2024 _slot_set(btc, CXST_B1, 30, tbl_b1, SLOT_MIX); in _set_policy()
2027 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
2028 _slot_set(btc, CXST_B1, 60, tbl_b1, SLOT_MIX); in _set_policy()
2031 _slot_set(btc, CXST_W1, 30, tbl_w1, SLOT_ISO); in _set_policy()
2032 _slot_set(btc, CXST_B1, 60, tbl_b1, SLOT_MIX); in _set_policy()
2035 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
2036 _slot_set(btc, CXST_B1, 80, tbl_b1, SLOT_MIX); in _set_policy()
2045 _slot_set(btc, CXST_W1, 50, tbl_w1, SLOT_ISO); in _set_policy()
2046 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2049 _slot_set(btc, CXST_W1, 60, tbl_w1, SLOT_ISO); in _set_policy()
2050 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2053 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
2054 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2057 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in _set_policy()
2059 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in _set_policy()
2069 _slot_set(btc, CXST_W1, 50, tbl_w1, SLOT_ISO); in _set_policy()
2070 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2073 _slot_set(btc, CXST_W1, 60, tbl_w1, SLOT_ISO); in _set_policy()
2074 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2077 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
2078 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2081 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in _set_policy()
2083 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in _set_policy()
2093 _slot_set(btc, CXST_W1, 30, tbl_w1, SLOT_ISO); in _set_policy()
2094 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2095 _slot_set(btc, CXST_B4, 50, tbl_b4, SLOT_MIX); in _set_policy()
2098 _slot_set(btc, CXST_W1, 30, tbl_w1, SLOT_ISO); in _set_policy()
2099 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2100 _slot_set(btc, CXST_B4, 70, tbl_b4, SLOT_MIX); in _set_policy()
2103 _slot_set(btc, CXST_W1, 50, tbl_w1, SLOT_ISO); in _set_policy()
2104 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2105 _slot_set(btc, CXST_B4, 50, tbl_b4, SLOT_MIX); in _set_policy()
2108 _slot_set(btc, CXST_W1, 60, tbl_w1, SLOT_ISO); in _set_policy()
2109 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2110 _slot_set(btc, CXST_B4, 60, tbl_b4, SLOT_MIX); in _set_policy()
2113 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
2114 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2115 _slot_set(btc, CXST_B4, 80, tbl_b4, SLOT_MIX); in _set_policy()
2118 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in _set_policy()
2120 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in _set_policy()
2130 _slot_set(btc, CXST_W1, 30, tbl_w1, SLOT_ISO); in _set_policy()
2131 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2132 _slot_set(btc, CXST_B4, 50, tbl_b4, SLOT_MIX); in _set_policy()
2135 _slot_set(btc, CXST_W1, 30, tbl_w1, SLOT_ISO); in _set_policy()
2136 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2137 _slot_set(btc, CXST_B4, 70, tbl_b4, SLOT_MIX); in _set_policy()
2140 _slot_set(btc, CXST_W1, 50, tbl_w1, SLOT_ISO); in _set_policy()
2141 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2142 _slot_set(btc, CXST_B4, 50, tbl_b4, SLOT_MIX); in _set_policy()
2145 _slot_set(btc, CXST_W1, 60, tbl_w1, SLOT_ISO); in _set_policy()
2146 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2147 _slot_set(btc, CXST_B4, 60, tbl_b4, SLOT_MIX); in _set_policy()
2150 _slot_set(btc, CXST_W1, 20, tbl_w1, SLOT_ISO); in _set_policy()
2151 _slot_set(btc, CXST_B1, 200, tbl_b1, SLOT_MIX); in _set_policy()
2152 _slot_set(btc, CXST_B4, 80, tbl_b4, SLOT_MIX); in _set_policy()
2155 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in _set_policy()
2157 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in _set_policy()
2169 struct rtw89_btc *btc = &rtwdev->btc; in _set_gnt_bt() local
2170 struct rtw89_btc_dm *dm = &btc->dm; in _set_gnt_bt()
2223 struct rtw89_btc *btc = &rtwdev->btc; in _set_ant() local
2224 struct rtw89_btc_dm *dm = &btc->dm; in _set_ant()
2225 struct rtw89_btc_cx *cx = &btc->cx; in _set_ant()
2226 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _set_ant()
2234 if (btc->dm.run_reason == BTC_RSN_NTFY_POWEROFF || in _set_ant()
2235 btc->dm.run_reason == BTC_RSN_NTFY_RADIO_STATE || in _set_ant()
2236 btc->dm.run_reason == BTC_RSN_CMD_SET_COEX) in _set_ant()
2248 } else if (btc->dm.run_reason != BTC_RSN_NTFY_WL_RFK && in _set_ant()
2367 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_off() local
2368 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _action_wl_off()
2372 if (wl->status.map.rf_off || btc->dm.bt_only) in _action_wl_off()
2380 struct rtw89_btc *btc = &rtwdev->btc; in _action_freerun() local
2387 btc->dm.freerun = true; in _action_freerun()
2408 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_idle() local
2409 struct rtw89_btc_bt_link_info *b = &btc->cx.bt.link_info; in _action_bt_idle()
2413 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { /* shared-antenna */ in _action_bt_idle()
2414 switch (btc->cx.state_map) { in _action_bt_idle()
2454 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_hfp() local
2458 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { in _action_bt_hfp()
2459 if (btc->cx.wl.status.map._4way) in _action_bt_hfp()
2470 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_hid() local
2474 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) /* shared-antenna */ in _action_bt_hid()
2475 if (btc->cx.wl.status.map._4way) in _action_bt_hid()
2485 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_a2dp() local
2486 struct rtw89_btc_bt_link_info *bt_linfo = &btc->cx.bt.link_info; in _action_bt_a2dp()
2488 struct rtw89_btc_dm *dm = &btc->dm; in _action_bt_a2dp()
2492 switch (btc->cx.state_map) { in _action_bt_a2dp()
2530 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_a2dpsink() local
2534 switch (btc->cx.state_map) { in _action_bt_a2dpsink()
2558 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_pan() local
2562 switch (btc->cx.state_map) { in _action_bt_pan()
2586 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_a2dp_hid() local
2587 struct rtw89_btc_bt_link_info *bt_linfo = &btc->cx.bt.link_info; in _action_bt_a2dp_hid()
2589 struct rtw89_btc_dm *dm = &btc->dm; in _action_bt_a2dp_hid()
2593 switch (btc->cx.state_map) { in _action_bt_a2dp_hid()
2630 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_a2dp_pan() local
2634 switch (btc->cx.state_map) { in _action_bt_a2dp_pan()
2658 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_pan_hid() local
2662 switch (btc->cx.state_map) { in _action_bt_pan_hid()
2686 struct rtw89_btc *btc = &rtwdev->btc; in _action_bt_a2dp_pan_hid() local
2690 switch (btc->cx.state_map) { in _action_bt_a2dp_pan_hid()
2723 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_other() local
2727 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) in _action_wl_other()
2741 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_rfk() local
2742 struct rtw89_btc_wl_rfk_info rfk = btc->cx.wl.rfk_info; in _action_wl_rfk()
2756 struct rtw89_btc *btc = &rtwdev->btc; in _set_btg_ctrl() local
2757 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _set_btg_ctrl()
2762 if (btc->ctrl.manual) in _set_btg_ctrl()
2774 if (btc->dm.run_reason != BTC_RSN_NTFY_INIT && in _set_btg_ctrl()
2775 is_btg == btc->dm.wl_btg_rx) in _set_btg_ctrl()
2778 btc->dm.wl_btg_rx = is_btg; in _set_btg_ctrl()
2802 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_tx_time_iter() local
2803 struct rtw89_btc_cx *cx = &btc->cx; in rtw89_tx_time_iter()
2853 struct rtw89_btc *btc = &rtwdev->btc; in _set_wl_tx_limit() local
2854 struct rtw89_btc_cx *cx = &btc->cx; in _set_wl_tx_limit()
2855 struct rtw89_btc_dm *dm = &btc->dm; in _set_wl_tx_limit()
2869 if (btc->ctrl.manual) in _set_wl_tx_limit()
2872 if (btc->dm.freerun || btc->ctrl.igno_bt || b->profile_cnt.now == 0 || in _set_wl_tx_limit()
2915 struct rtw89_btc *btc = &rtwdev->btc; in _set_bt_rx_agc() local
2916 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _set_bt_rx_agc()
2918 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _set_bt_rx_agc()
2921 if (wl_rinfo->link_mode != BTC_WLINK_NOLINK && btc->dm.wl_btg_rx) in _set_bt_rx_agc()
2942 struct rtw89_btc *btc = &rtwdev->btc; in _action_by_bt() local
2943 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _action_by_bt()
3028 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_scan() local
3029 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _action_wl_scan()
3048 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_25g_mcc() local
3052 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { in _action_wl_25g_mcc()
3053 if (btc->cx.bt.link_info.profile_cnt.now == 0) in _action_wl_25g_mcc()
3065 { struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_2g_mcc() local
3069 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { /* shared-antenna */ in _action_wl_2g_mcc()
3070 if (btc->cx.bt.link_info.profile_cnt.now == 0) in _action_wl_2g_mcc()
3083 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_2g_scc() local
3087 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { /* shared-antenna */ in _action_wl_2g_scc()
3088 if (btc->cx.bt.link_info.profile_cnt.now == 0) in _action_wl_2g_scc()
3101 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_2g_ap() local
3105 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { in _action_wl_2g_ap()
3106 if (btc->cx.bt.link_info.profile_cnt.now == 0) in _action_wl_2g_ap()
3118 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_2g_go() local
3122 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { /* shared-antenna */ in _action_wl_2g_go()
3123 if (btc->cx.bt.link_info.profile_cnt.now == 0) in _action_wl_2g_go()
3136 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_2g_gc() local
3140 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { /* shared-antenna */ in _action_wl_2g_gc()
3149 struct rtw89_btc *btc = &rtwdev->btc; in _action_wl_2g_nan() local
3153 if (btc->mdinfo.ant.type == BTC_ANT_SHARED) { /* shared-antenna */ in _action_wl_2g_nan()
3154 if (btc->cx.bt.link_info.profile_cnt.now == 0) in _action_wl_2g_nan()
3168 struct rtw89_btc *btc = &rtwdev->btc; in _read_scbd() local
3178 btc->cx.cnt_bt[BTC_BCNT_SCBDREAD]++; in _read_scbd()
3185 struct rtw89_btc *btc = &rtwdev->btc; in _write_scbd() local
3186 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _write_scbd()
3201 btc->cx.cnt_wl[BTC_WCNT_SCBDUPDATE]++; in _write_scbd()
3229 struct rtw89_btc *btc = &rtwdev->btc; in _update_dbcc_band() local
3231 btc->cx.wl.dbcc_info.real_band[phy_idx] = in _update_dbcc_band()
3232 btc->cx.wl.scan_info.phy_map & BIT(phy_idx) ? in _update_dbcc_band()
3233 btc->cx.wl.dbcc_info.scan_band[phy_idx] : in _update_dbcc_band()
3234 btc->cx.wl.dbcc_info.op_band[phy_idx]; in _update_dbcc_band()
3239 struct rtw89_btc *btc = &rtwdev->btc; in _update_wl_info() local
3240 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _update_wl_info()
3395 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_coex_act1_work() local
3396 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_act1_work()
3397 struct rtw89_btc_cx *cx = &btc->cx; in rtw89_coex_act1_work()
3416 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_coex_bt_devinfo_work() local
3417 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_bt_devinfo_work()
3418 struct rtw89_btc_bt_a2dp_desc *a2dp = &btc->cx.bt.link_info.a2dp_desc; in rtw89_coex_bt_devinfo_work()
3432 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_coex_rfk_chk_work() local
3433 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_rfk_chk_work()
3434 struct rtw89_btc_cx *cx = &btc->cx; in rtw89_coex_rfk_chk_work()
3455 struct rtw89_btc *btc = &rtwdev->btc; in _update_bt_scbd() local
3456 struct rtw89_btc_cx *cx = &btc->cx; in _update_bt_scbd()
3457 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _update_bt_scbd()
3475 btc->dm.cnt_dm[BTC_DCNT_BTCNT_FREEZE] >= BTC_CHK_HANG_MAX) in _update_bt_scbd()
3517 struct rtw89_btc *btc = &rtwdev->btc; in _chk_wl_rfk_request() local
3518 struct rtw89_btc_cx *cx = &btc->cx; in _chk_wl_rfk_request()
3538 struct rtw89_btc *btc = &rtwdev->btc; in _run_coex() local
3539 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in _run_coex()
3540 struct rtw89_btc_cx *cx = &btc->cx; in _run_coex()
3541 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _run_coex()
3556 if (btc->ctrl.manual) { in _run_coex()
3563 if (btc->ctrl.igno_bt && in _run_coex()
3591 if (btc->ctrl.always_freerun) { in _run_coex()
3593 btc->ctrl.igno_bt = true; in _run_coex()
3599 btc->ctrl.igno_bt = true; in _run_coex()
3605 btc->ctrl.igno_bt = true; in _run_coex()
3609 btc->ctrl.igno_bt = false; in _run_coex()
3688 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_poweron() local
3691 btc->dm.cnt_notify[BTC_NCNT_POWER_ON]++; in rtw89_btc_ntfy_poweron()
3696 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_poweroff() local
3699 btc->dm.cnt_notify[BTC_NCNT_POWER_OFF]++; in rtw89_btc_ntfy_poweroff()
3701 btc->cx.wl.status.map.rf_off = 1; in rtw89_btc_ntfy_poweroff()
3708 btc->cx.wl.status.map.rf_off_pre = btc->cx.wl.status.map.rf_off; in rtw89_btc_ntfy_poweroff()
3714 struct rtw89_btc *btc = &rtwdev->btc; in _set_init_info() local
3715 struct rtw89_btc_dm *dm = &btc->dm; in _set_init_info()
3716 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _set_init_info()
3722 dm->init_info.cx_other = btc->cx.other.type; in _set_init_info()
3724 dm->init_info.module = btc->mdinfo; in _set_init_info()
3729 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_init() local
3730 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_btc_ntfy_init()
3731 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in rtw89_btc_ntfy_init()
3735 btc->dm.run_reason = BTC_RSN_NONE; in rtw89_btc_ntfy_init()
3736 btc->dm.run_action = BTC_ACT_NONE; in rtw89_btc_ntfy_init()
3737 btc->ctrl.igno_bt = true; in rtw89_btc_ntfy_init()
3780 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_scan_start() local
3781 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in rtw89_btc_ntfy_scan_start()
3786 btc->dm.cnt_notify[BTC_NCNT_SCAN_START]++; in rtw89_btc_ntfy_scan_start()
3803 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_scan_finish() local
3804 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in rtw89_btc_ntfy_scan_finish()
3808 btc->dm.cnt_notify[BTC_NCNT_SCAN_FINISH]++; in rtw89_btc_ntfy_scan_finish()
3824 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_switch_band() local
3825 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in rtw89_btc_ntfy_switch_band()
3830 btc->dm.cnt_notify[BTC_NCNT_SWITCH_BAND]++; in rtw89_btc_ntfy_switch_band()
3847 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_specific_packet() local
3848 struct rtw89_btc_cx *cx = &btc->cx; in rtw89_btc_ntfy_specific_packet()
3904 btc->dm.cnt_notify[BTC_NCNT_SPECIAL_PACKET]++; in rtw89_btc_ntfy_specific_packet()
3911 btc.eapol_notify_work); in rtw89_btc_ntfy_eapol_packet_work()
3922 btc.arp_notify_work); in rtw89_btc_ntfy_arp_packet_work()
3932 btc.dhcp_notify_work); in rtw89_btc_ntfy_dhcp_packet_work()
3943 btc.icmp_notify_work); in rtw89_btc_ntfy_icmp_packet_work()
3954 struct rtw89_btc *btc = &rtwdev->btc; in _update_bt_info() local
3955 struct rtw89_btc_cx *cx = &btc->cx; in _update_bt_info()
4107 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_role_info() local
4108 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in rtw89_btc_ntfy_role_info()
4167 btc->dm.cnt_notify[BTC_NCNT_ROLE_INFO]++; in rtw89_btc_ntfy_role_info()
4176 btc->dm.leak_ap = 0; in rtw89_btc_ntfy_role_info()
4192 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_radio_state() local
4193 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in rtw89_btc_ntfy_radio_state()
4197 btc->dm.cnt_notify[BTC_NCNT_RADIO_STATE]++; in rtw89_btc_ntfy_radio_state()
4236 struct rtw89_btc *btc = &rtwdev->btc; in _ntfy_wl_rfk() local
4237 struct rtw89_btc_cx *cx = &btc->cx; in _ntfy_wl_rfk()
4258 btc->dm.cnt_notify[BTC_NCNT_WL_RFK]++; in _ntfy_wl_rfk()
4295 __func__, btc->dm.cnt_notify[BTC_NCNT_WL_RFK], result); in _ntfy_wl_rfk()
4349 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_wl_sta_iter() local
4350 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in rtw89_btc_ntfy_wl_sta_iter()
4389 if (btc->mdinfo.ant.type == BTC_ANT_DEDICATED && in rtw89_btc_ntfy_wl_sta_iter()
4449 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_ntfy_wl_sta() local
4450 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in rtw89_btc_ntfy_wl_sta()
4459 btc->dm.cnt_notify[BTC_NCNT_WL_STA]++; in rtw89_btc_ntfy_wl_sta()
4479 } else if (btc->dm.cnt_notify[BTC_NCNT_WL_STA] >= in rtw89_btc_ntfy_wl_sta()
4480 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] + BTC_NHM_CHK_INTVL) { in rtw89_btc_ntfy_wl_sta()
4481 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] = in rtw89_btc_ntfy_wl_sta()
4482 btc->dm.cnt_notify[BTC_NCNT_WL_STA]; in rtw89_btc_ntfy_wl_sta()
4483 } else if (btc->dm.cnt_notify[BTC_NCNT_WL_STA] < in rtw89_btc_ntfy_wl_sta()
4484 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST]) { in rtw89_btc_ntfy_wl_sta()
4485 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] = in rtw89_btc_ntfy_wl_sta()
4486 btc->dm.cnt_notify[BTC_NCNT_WL_STA]; in rtw89_btc_ntfy_wl_sta()
4493 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_c2h_handle() local
4494 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in rtw89_btc_c2h_handle()
4514 btc->cx.cnt_bt[BTC_BCNT_INFOUPDATE]++; in rtw89_btc_c2h_handle()
4521 btc->cx.cnt_bt[BTC_BCNT_SCBDUPDATE]++; in rtw89_btc_c2h_handle()
4528 btc->dbg.rb_done = true; in rtw89_btc_c2h_handle()
4529 btc->dbg.rb_val = le32_to_cpu(*((__le32 *)buf)); in rtw89_btc_c2h_handle()
4533 btc->dbg.rb_done = true; in rtw89_btc_c2h_handle()
4534 btc->dbg.rb_val = buf[0]; in rtw89_btc_c2h_handle()
4537 btc->dm.cnt_dm[BTC_DCNT_CX_RUNINFO]++; in rtw89_btc_c2h_handle()
4548 struct rtw89_btc *btc = &rtwdev->btc; in _show_cx_info() local
4549 struct rtw89_btc_dm *dm = &btc->dm; in _show_cx_info()
4550 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _show_cx_info()
4551 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _show_cx_info()
4608 "[hw_info]", btc->mdinfo.cv, btc->mdinfo.rfe_type, in _show_cx_info()
4609 btc->mdinfo.ant.isolation, btc->mdinfo.ant.num, in _show_cx_info()
4610 (btc->mdinfo.ant.num > 1 ? "" : (btc->mdinfo.ant.single_pos ? in _show_cx_info()
4614 btc->cx.other.type, rtwdev->dbcc_en, hal->tx_nss, in _show_cx_info()
4620 struct rtw89_btc *btc = &rtwdev->btc; in _show_wl_role_info() local
4622 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _show_wl_role_info()
4641 plink = &btc->cx.wl.link_info[i]; in _show_wl_role_info()
4679 struct rtw89_btc *btc = &rtwdev->btc; in _show_wl_info() local
4680 struct rtw89_btc_cx *cx = &btc->cx; in _show_wl_info()
4684 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_WL)) in _show_wl_info()
4717 struct rtw89_btc *btc = &rtwdev->btc; in _show_bt_profile_info() local
4718 struct rtw89_btc_bt_link_info *bt_linfo = &btc->cx.bt.link_info; in _show_bt_profile_info()
4769 struct rtw89_btc *btc = &rtwdev->btc; in _show_bt_info() local
4770 struct rtw89_btc_cx *cx = &btc->cx; in _show_bt_info()
4773 struct rtw89_btc_module *module = &btc->mdinfo; in _show_bt_info()
4778 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_BT)) in _show_bt_info()
5002 struct rtw89_btc *btc = &rtwdev->btc; in _show_dm_step() local
5003 struct rtw89_btc_dm *dm = &btc->dm; in _show_dm_step()
5016 struct rtw89_btc *btc = &rtwdev->btc; in _show_dm_info() local
5017 struct rtw89_btc_module *module = &btc->mdinfo; in _show_dm_info()
5018 struct rtw89_btc_dm *dm = &btc->dm; in _show_dm_info()
5019 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _show_dm_info()
5020 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _show_dm_info()
5026 (btc->ctrl.manual ? "(Manual)" : "(Auto)")); in _show_dm_info()
5040 "[dm_flag]", dm->wl_only, dm->bt_only, btc->ctrl.igno_bt, in _show_dm_info()
5041 dm->freerun, btc->lps, dm->wl_mimo_ps); in _show_dm_info()
5068 dm->wl_tx_limit.tx_retry, btc->bt_req_len); in _show_dm_info()
5073 struct rtw89_btc *btc = &rtwdev->btc; in _show_error() local
5074 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in _show_error()
5115 struct rtw89_btc *btc = &rtwdev->btc; in _show_fbtc_tdma() local
5116 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in _show_fbtc_tdma()
5120 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_tdma()
5142 (u32)btc->policy_type); in _show_fbtc_tdma()
5173 struct rtw89_btc *btc = &rtwdev->btc; in _show_fbtc_slots() local
5174 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in _show_fbtc_slots()
5206 struct rtw89_btc *btc = &rtwdev->btc; in _show_fbtc_cysta() local
5207 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in _show_fbtc_cysta()
5208 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta()
5209 struct rtw89_btc_bt_a2dp_desc *a2dp = &btc->cx.bt.link_info.a2dp_desc; in _show_fbtc_cysta()
5337 struct rtw89_btc *btc = &rtwdev->btc; in _show_fbtc_nullsta() local
5338 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in _show_fbtc_nullsta()
5343 if (!btc->dm.tdma_now.rxflctrl) in _show_fbtc_nullsta()
5375 struct rtw89_btc *btc = &rtwdev->btc; in _show_fbtc_step() local
5376 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in _show_fbtc_step()
5403 n_stop = btc->ctrl.trace_step - 1; in _show_fbtc_step()
5444 struct rtw89_btc *btc = &rtwdev->btc; in _show_fw_dm_msg() local
5446 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_DM)) in _show_fw_dm_msg()
5460 struct rtw89_btc *btc = &rtwdev->btc; in _show_mreg() local
5461 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in _show_mreg()
5465 struct rtw89_btc_cx *cx = &btc->cx; in _show_mreg()
5466 struct rtw89_btc_wl_info *wl = &btc->cx.wl; in _show_mreg()
5467 struct rtw89_btc_bt_info *bt = &btc->cx.bt; in _show_mreg()
5472 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_MREG)) in _show_mreg()
5578 struct rtw89_btc *btc = &rtwdev->btc; in _show_summary() local
5579 struct rtw89_btc_btf_fwinfo *pfwinfo = &btc->fwinfo; in _show_summary()
5582 struct rtw89_btc_cx *cx = &btc->cx; in _show_summary()
5583 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary()
5586 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary()
5653 btc->fwinfo.rpt_en_map); in _show_summary()
5686 struct rtw89_btc *btc = &rtwdev->btc; in rtw89_btc_dump_info() local
5687 struct rtw89_btc_cx *cx = &btc->cx; in rtw89_btc_dump_info()
5694 seq_printf(m, "manual %d\n", btc->ctrl.manual); in rtw89_btc_dump_info()