Lines Matching full:dm
804 struct rtw89_btc_dm *dm = &btc->dm; in _send_fw_cmd() local
809 dm->error.map.h2c_buffer_over = true; in _send_fw_cmd()
864 memset(&btc->dm, 0, sizeof(btc->dm)); in _reset_btc_var()
875 btc->dm.tdma_now = t_def[CXTD_OFF]; in _reset_btc_var()
876 btc->dm.tdma = t_def[CXTD_OFF]; in _reset_btc_var()
879 btc->dm.slot.v7[i].dur = s_def[i].dur; in _reset_btc_var()
880 btc->dm.slot.v7[i].cxtype = s_def[i].cxtype; in _reset_btc_var()
881 btc->dm.slot.v7[i].cxtbl = s_def[i].cxtbl; in _reset_btc_var()
883 memcpy(&btc->dm.slot_now.v7, &btc->dm.slot.v7, in _reset_btc_var()
884 sizeof(btc->dm.slot_now.v7)); in _reset_btc_var()
886 memcpy(&btc->dm.slot_now.v1, s_def, in _reset_btc_var()
887 sizeof(btc->dm.slot_now.v1)); in _reset_btc_var()
888 memcpy(&btc->dm.slot.v1, s_def, in _reset_btc_var()
889 sizeof(btc->dm.slot.v1)); in _reset_btc_var()
895 btc->dm.coex_info_map = BTC_COEX_INFO_ALL; in _reset_btc_var()
896 btc->dm.wl_tx_limit.tx_time = BTC_MAX_TX_TIME_DEF; in _reset_btc_var()
897 btc->dm.wl_tx_limit.tx_retry = BTC_MAX_TX_RETRY_DEF; in _reset_btc_var()
898 btc->dm.wl_pre_agc_rb = BTC_PREAGC_NOTFOUND; in _reset_btc_var()
899 btc->dm.wl_btg_rx_rb = BTC_BTGCTRL_BB_GNT_NOTFOUND; in _reset_btc_var()
1023 struct rtw89_btc_dm *dm = &btc->dm; in _chk_btc_err() local
1034 dm->error.map.wl_ver_mismatch = true; in _chk_btc_err()
1037 dm->error.map.wl_ver_mismatch = false; in _chk_btc_err()
1041 if (dm->cnt_dm[BTC_DCNT_RPT] == cnt && btc->fwinfo.rpt_en_map) in _chk_btc_err()
1042 dm->cnt_dm[BTC_DCNT_RPT_HANG]++; in _chk_btc_err()
1044 dm->cnt_dm[BTC_DCNT_RPT_HANG] = 0; in _chk_btc_err()
1046 if (dm->cnt_dm[BTC_DCNT_RPT_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1047 dm->error.map.wl_fw_hang = true; in _chk_btc_err()
1049 dm->error.map.wl_fw_hang = false; in _chk_btc_err()
1051 dm->cnt_dm[BTC_DCNT_RPT] = cnt; in _chk_btc_err()
1054 if (dm->cnt_dm[BTC_DCNT_CYCLE] == cnt && in _chk_btc_err()
1055 (dm->tdma_now.type != CXTDMA_OFF || in _chk_btc_err()
1056 dm->tdma_now.ext_ctrl == CXECTL_EXT)) in _chk_btc_err()
1057 dm->cnt_dm[BTC_DCNT_CYCLE_HANG]++; in _chk_btc_err()
1059 dm->cnt_dm[BTC_DCNT_CYCLE_HANG] = 0; in _chk_btc_err()
1061 if (dm->cnt_dm[BTC_DCNT_CYCLE_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1062 dm->error.map.cycle_hang = true; in _chk_btc_err()
1064 dm->error.map.cycle_hang = false; in _chk_btc_err()
1066 dm->cnt_dm[BTC_DCNT_CYCLE] = cnt; in _chk_btc_err()
1069 if (dm->cnt_dm[BTC_DCNT_W1] == cnt && in _chk_btc_err()
1070 dm->tdma_now.type != CXTDMA_OFF) in _chk_btc_err()
1071 dm->cnt_dm[BTC_DCNT_W1_HANG]++; in _chk_btc_err()
1073 dm->cnt_dm[BTC_DCNT_W1_HANG] = 0; in _chk_btc_err()
1075 if (dm->cnt_dm[BTC_DCNT_W1_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1076 dm->error.map.w1_hang = true; in _chk_btc_err()
1078 dm->error.map.w1_hang = false; in _chk_btc_err()
1080 dm->cnt_dm[BTC_DCNT_W1] = cnt; in _chk_btc_err()
1083 if (dm->cnt_dm[BTC_DCNT_B1] == cnt && in _chk_btc_err()
1084 dm->tdma_now.type != CXTDMA_OFF) in _chk_btc_err()
1085 dm->cnt_dm[BTC_DCNT_B1_HANG]++; in _chk_btc_err()
1087 dm->cnt_dm[BTC_DCNT_B1_HANG] = 0; in _chk_btc_err()
1089 if (dm->cnt_dm[BTC_DCNT_B1_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1090 dm->error.map.b1_hang = true; in _chk_btc_err()
1092 dm->error.map.b1_hang = false; in _chk_btc_err()
1094 dm->cnt_dm[BTC_DCNT_B1] = cnt; in _chk_btc_err()
1097 if (dm->cnt_dm[BTC_DCNT_E2G] == cnt && in _chk_btc_err()
1098 dm->tdma_now.ext_ctrl == CXECTL_EXT) in _chk_btc_err()
1099 dm->cnt_dm[BTC_DCNT_E2G_HANG]++; in _chk_btc_err()
1101 dm->cnt_dm[BTC_DCNT_E2G_HANG] = 0; in _chk_btc_err()
1103 if (dm->cnt_dm[BTC_DCNT_E2G_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1104 dm->error.map.wl_e2g_hang = true; in _chk_btc_err()
1106 dm->error.map.wl_e2g_hang = false; in _chk_btc_err()
1108 dm->cnt_dm[BTC_DCNT_E2G] = cnt; in _chk_btc_err()
1112 dm->cnt_dm[BTC_DCNT_TDMA_NONSYNC]++; in _chk_btc_err()
1114 dm->cnt_dm[BTC_DCNT_TDMA_NONSYNC] = 0; in _chk_btc_err()
1116 if (dm->cnt_dm[BTC_DCNT_TDMA_NONSYNC] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1117 dm->error.map.tdma_no_sync = true; in _chk_btc_err()
1119 dm->error.map.tdma_no_sync = false; in _chk_btc_err()
1123 dm->cnt_dm[BTC_DCNT_SLOT_NONSYNC]++; in _chk_btc_err()
1125 dm->cnt_dm[BTC_DCNT_SLOT_NONSYNC] = 0; in _chk_btc_err()
1127 if (dm->cnt_dm[BTC_DCNT_SLOT_NONSYNC] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1128 dm->error.map.slot_no_sync = true; in _chk_btc_err()
1130 dm->error.map.slot_no_sync = false; in _chk_btc_err()
1136 dm->cnt_dm[BTC_DCNT_BTTX_HANG]++; in _chk_btc_err()
1138 dm->cnt_dm[BTC_DCNT_BTTX_HANG] = 0; in _chk_btc_err()
1140 if (dm->cnt_dm[BTC_DCNT_BTTX_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1141 dm->error.map.bt_tx_hang = true; in _chk_btc_err()
1143 dm->error.map.bt_tx_hang = false; in _chk_btc_err()
1152 dm->cnt_dm[BTC_DCNT_BTCNT_HANG]++; in _chk_btc_err()
1154 dm->cnt_dm[BTC_DCNT_BTCNT_HANG] = 0; in _chk_btc_err()
1156 if ((dm->cnt_dm[BTC_DCNT_BTCNT_HANG] >= BTC_CHK_HANG_MAX && in _chk_btc_err()
1157 bt->enable.now) || (!dm->cnt_dm[BTC_DCNT_BTCNT_HANG] && in _chk_btc_err()
1163 dm->cnt_dm[BTC_DCNT_WL_SLOT_DRIFT]++; in _chk_btc_err()
1165 dm->cnt_dm[BTC_DCNT_WL_SLOT_DRIFT] = 0; in _chk_btc_err()
1167 if (dm->cnt_dm[BTC_DCNT_WL_SLOT_DRIFT] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1168 dm->error.map.wl_slot_drift = true; in _chk_btc_err()
1170 dm->error.map.wl_slot_drift = false; in _chk_btc_err()
1174 dm->cnt_dm[BTC_DCNT_BT_SLOT_DRIFT]++; in _chk_btc_err()
1176 dm->cnt_dm[BTC_DCNT_BT_SLOT_DRIFT] = 0; in _chk_btc_err()
1178 if (dm->cnt_dm[BTC_DCNT_BT_SLOT_DRIFT] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1179 dm->error.map.bt_slot_drift = true; in _chk_btc_err()
1181 dm->error.map.bt_slot_drift = false; in _chk_btc_err()
1328 struct rtw89_btc_dm *dm = &btc->dm; in _chk_btc_report() local
1592 dm->wl_fw_cx_offload = !!prpt->v1.wl_fw_cx_offload; in _chk_btc_report()
1612 dm->wl_fw_cx_offload = !!le32_to_cpu(prpt->v4.wl_fw_info.cx_offload); in _chk_btc_report()
1615 memcpy(&dm->gnt.band[i], &prpt->v4.gnt_val[i], in _chk_btc_report()
1616 sizeof(dm->gnt.band[i])); in _chk_btc_report()
1638 dm->error.map.bt_rfk_timeout = bt->rfk_info.map.timeout; in _chk_btc_report()
1644 dm->wl_fw_cx_offload = 0; in _chk_btc_report()
1647 memcpy(&dm->gnt.band[i], &prpt->v5.gnt_val[i][0], in _chk_btc_report()
1648 sizeof(dm->gnt.band[i])); in _chk_btc_report()
1665 dm->error.map.bt_rfk_timeout = bt->rfk_info.map.timeout; in _chk_btc_report()
1671 dm->wl_fw_cx_offload = 0; in _chk_btc_report()
1674 memcpy(&dm->gnt.band[i], &prpt->v105.gnt_val[i][0], in _chk_btc_report()
1675 sizeof(dm->gnt.band[i])); in _chk_btc_report()
1692 dm->error.map.bt_rfk_timeout = bt->rfk_info.map.timeout; in _chk_btc_report()
1700 memcpy(&dm->gnt.band[i], &prpt->v7.gnt_val[i][0], in _chk_btc_report()
1701 sizeof(dm->gnt.band[i])); in _chk_btc_report()
1732 memcpy(&dm->gnt.band[i], &prpt->v8.gnt_val[i][0], in _chk_btc_report()
1733 sizeof(dm->gnt.band[i])); in _chk_btc_report()
1755 dm->error.map.h2c_c2h_buffer_mismatch = true; in _chk_btc_report()
1757 dm->error.map.h2c_c2h_buffer_mismatch = false; in _chk_btc_report()
1771 sizeof(dm->tdma_now)); in _chk_btc_report()
1774 memcmp(&dm->tdma_now, in _chk_btc_report()
1776 sizeof(dm->tdma_now))); in _chk_btc_report()
1779 memcmp(&dm->tdma_now, in _chk_btc_report()
1781 sizeof(dm->tdma_now))); in _chk_btc_report()
1790 sizeof(dm->slot_now.v7)); in _chk_btc_report()
1792 memcmp(dm->slot_now.v7, in _chk_btc_report()
1794 sizeof(dm->slot_now.v7))); in _chk_btc_report()
1799 sizeof(dm->slot_now.v1)); in _chk_btc_report()
1801 memcmp(dm->slot_now.v1, in _chk_btc_report()
1803 sizeof(dm->slot_now.v1))); in _chk_btc_report()
1812 le32_to_cpu(pcysta->v2.leakrx_cnt) != 0 && dm->tdma_now.rxflctrl) { in _chk_btc_report()
1815 dm->leak_ap = 1; in _chk_btc_report()
1819 if (dm->tdma_now.type == CXTDMA_OFF && in _chk_btc_report()
1820 dm->tdma_now.ext_ctrl == CXECTL_EXT) { in _chk_btc_report()
1822 wl_slot_set = le16_to_cpu(dm->slot_now.v1[CXST_E2G].dur); in _chk_btc_report()
1824 wl_slot_set = le16_to_cpu(dm->slot_now.v7[CXST_E2G].dur); in _chk_btc_report()
1827 wl_slot_set = le16_to_cpu(dm->slot_now.v1[CXST_W1].dur); in _chk_btc_report()
1829 wl_slot_set = le16_to_cpu(dm->slot_now.v7[CXST_W1].dur); in _chk_btc_report()
1853 dm->tdma_now.rxflctrl) { in _chk_btc_report()
1855 dm->leak_ap = 1; in _chk_btc_report()
1859 if (dm->tdma_now.type == CXTDMA_OFF) { in _chk_btc_report()
1861 wl_slot_set = le16_to_cpu(dm->slot_now.v1[CXST_W1].dur); in _chk_btc_report()
1863 wl_slot_set = le16_to_cpu(dm->slot_now.v7[CXST_W1].dur); in _chk_btc_report()
1872 if (dm->tdma_now.type == CXTDMA_OFF && in _chk_btc_report()
1873 dm->tdma_now.ext_ctrl == CXECTL_EXT && in _chk_btc_report()
1897 dm->tdma_now.rxflctrl) { in _chk_btc_report()
1899 dm->leak_ap = 1; in _chk_btc_report()
1903 if (dm->tdma_now.type == CXTDMA_OFF) { in _chk_btc_report()
1905 wl_slot_set = le16_to_cpu(dm->slot_now.v1[CXST_W1].dur); in _chk_btc_report()
1907 wl_slot_set = le16_to_cpu(dm->slot_now.v7[CXST_W1].dur); in _chk_btc_report()
1916 if (dm->tdma_now.type == CXTDMA_OFF && in _chk_btc_report()
1917 dm->tdma_now.ext_ctrl == CXECTL_EXT && in _chk_btc_report()
1934 if (dm->fddt_train == BTC_FDDT_ENABLE) in _chk_btc_report()
1941 dm->tdma_now.rxflctrl) { in _chk_btc_report()
1944 dm->leak_ap = 1; in _chk_btc_report()
1948 if (dm->tdma_now.type == CXTDMA_OFF) { in _chk_btc_report()
1950 wl_slot_set = le16_to_cpu(dm->slot_now.v1[CXST_W1].dur); in _chk_btc_report()
1952 wl_slot_set = le16_to_cpu(dm->slot_now.v7[CXST_W1].dur); in _chk_btc_report()
1966 if (dm->tdma_now.type == CXTDMA_OFF && in _chk_btc_report()
1967 dm->tdma_now.ext_ctrl == CXECTL_EXT && in _chk_btc_report()
1985 if (dm->fddt_train == BTC_FDDT_ENABLE) in _chk_btc_report()
1990 if (dm->tdma_now.type != CXTDMA_OFF) { in _chk_btc_report()
2001 if (dm->tdma_now.rxflctrl && in _chk_btc_report()
2003 dm->leak_ap = 1; in _chk_btc_report()
2004 } else if (dm->tdma_now.ext_ctrl == CXECTL_EXT) { in _chk_btc_report()
2016 dm->slot_req_more = 1; in _chk_btc_report()
2018 dm->slot_req_more = 0; in _chk_btc_report()
2041 if (dm->wl_btg_rx == BTC_BTGCTRL_BB_GNT_FWCTRL) in _chk_btc_report()
2042 dm->wl_btg_rx_rb = BTC_BTGCTRL_BB_GNT_FWCTRL; in _chk_btc_report()
2044 dm->wl_btg_rx_rb = val; in _chk_btc_report()
2047 if (dm->wl_pre_agc == BTC_PREAGC_BB_FWCTRL) in _chk_btc_report()
2048 dm->wl_pre_agc_rb = BTC_PREAGC_BB_FWCTRL; in _chk_btc_report()
2050 dm->wl_pre_agc_rb = val; in _chk_btc_report()
2102 struct rtw89_btc_dm *dm = &btc->dm; in _append_tdma() local
2110 !memcmp(&dm->tdma, &dm->tdma_now, sizeof(dm->tdma))) { in _append_tdma()
2122 *v = dm->tdma; in _append_tdma()
2126 tlv_v7->len = sizeof(dm->tdma); in _append_tdma()
2129 memcpy(tlv_v7->val, &dm->tdma, tlv_v7->len); in _append_tdma()
2135 v3->tdma = dm->tdma; in _append_tdma()
2141 __func__, dm->tdma.type, dm->tdma.rxflctrl, in _append_tdma()
2142 dm->tdma.txpause, dm->tdma.wtgle_n, dm->tdma.leak_n, in _append_tdma()
2143 dm->tdma.ext_ctrl); in _append_tdma()
2149 struct rtw89_btc_dm *dm = &btc->dm; in _append_slot_v1() local
2161 !memcmp(&dm->slot.v1[i], &dm->slot_now.v1[i], in _append_slot_v1()
2162 sizeof(dm->slot.v1[i]))) in _append_slot_v1()
2174 v->slot = dm->slot.v1[i]; in _append_slot_v1()
2178 __func__, i, dm->slot.v1[i].dur, dm->slot.v1[i].cxtbl, in _append_slot_v1()
2179 dm->slot.v1[i].cxtype); in _append_slot_v1()
2195 struct rtw89_btc_dm *dm = &btc->dm; in _append_slot_v7() local
2201 !memcmp(&dm->slot.v7[i], &dm->slot_now.v7[i], in _append_slot_v7()
2202 sizeof(dm->slot.v7[i]))) in _append_slot_v7()
2217 tlv->len = sizeof(dm->slot.v7[0]) + BTC_TLV_SLOT_ID_LEN_V7; in _append_slot_v7()
2228 memcpy(&btc->policy[len + 1], &dm->slot.v7[i], in _append_slot_v7()
2229 sizeof(dm->slot.v7[0])); in _append_slot_v7()
2234 __func__, btc->policy_len, i, dm->slot.v7[i].dur, in _append_slot_v7()
2235 dm->slot.v7[i].cxtype, dm->slot.v7[i].cxtbl); in _append_slot_v7()
2407 struct rtw89_btc_dm *dm = &btc->dm; in rtw89_btc_fw_set_slots() local
2411 len = sizeof(*tlv_v7) + sizeof(dm->slot.v7); in rtw89_btc_fw_set_slots()
2418 tlv_v7->len = ARRAY_SIZE(dm->slot.v7); in rtw89_btc_fw_set_slots()
2419 memcpy(tlv_v7->val, dm->slot.v7, sizeof(dm->slot.v7)); in rtw89_btc_fw_set_slots()
2432 memcpy(tbl->tbls, dm->slot.v1, flex_array_size(tbl, tbls, CXST_MAX)); in rtw89_btc_fw_set_slots()
2556 struct rtw89_btc_dm *dm = &btc->dm; in _update_dm_step() local
2558 /* use ring-structure to store dm step */ in _update_dm_step()
2559 dm->dm_step.step[dm->dm_step.step_pos] = reason_or_action; in _update_dm_step()
2560 dm->dm_step.step_pos++; in _update_dm_step()
2562 if (dm->dm_step.step_pos >= ARRAY_SIZE(dm->dm_step.step)) { in _update_dm_step()
2563 dm->dm_step.step_pos = 0; in _update_dm_step()
2564 dm->dm_step.step_ov = true; in _update_dm_step()
2572 struct rtw89_btc_dm *dm = &btc->dm; in _fw_set_policy() local
2575 dm->run_action = action; in _fw_set_policy()
2593 if (dm->tdma.rxflctrl == CXFLC_NULLP || in _fw_set_policy()
2594 dm->tdma.rxflctrl == CXFLC_QOSNULL) in _fw_set_policy()
2605 memcpy(&dm->tdma_now, &dm->tdma, sizeof(dm->tdma_now)); in _fw_set_policy()
2607 memcpy(&dm->slot_now.v7, &dm->slot.v7, sizeof(dm->slot_now.v7)); in _fw_set_policy()
2609 memcpy(&dm->slot_now.v1, &dm->slot.v1, sizeof(dm->slot_now.v1)); in _fw_set_policy()
2623 struct rtw89_btc_dm *dm = &btc->dm; in _fw_set_drv_info() local
2625 struct rtw89_btc_rf_trx_para rf_para = dm->rf_trx_para; in _fw_set_drv_info()
2659 dm->trx_info.tx_power = u32_get_bits(rf_para.wl_tx_power, in _fw_set_drv_info()
2661 dm->trx_info.rx_gain = u32_get_bits(rf_para.wl_rx_gain, in _fw_set_drv_info()
2663 dm->trx_info.bt_tx_power = u32_get_bits(rf_para.bt_tx_power, in _fw_set_drv_info()
2665 dm->trx_info.bt_rx_gain = u32_get_bits(rf_para.bt_rx_gain, in _fw_set_drv_info()
2667 dm->trx_info.cn = wl->cn_report; in _fw_set_drv_info()
2668 dm->trx_info.nhm = wl->nhm.pwr; in _fw_set_drv_info()
2711 struct rtw89_btc_dm *dm = &btc->dm; in _set_gnt() local
2712 struct rtw89_mac_ax_gnt *g = dm->gnt.band; in _set_gnt()
2753 rtw89_chip_mac_cfg_gnt(rtwdev, &dm->gnt); in _set_gnt()
2760 struct rtw89_btc_dm *dm = &btc->dm; in _set_gnt_v1() local
2761 struct rtw89_mac_ax_gnt *g = dm->gnt.band; in _set_gnt_v1()
2762 u8 i, bt_idx = dm->bt_select + 1; in _set_gnt_v1()
2809 dm->gnt.bt[i].wlan_act_en = 0; in _set_gnt_v1()
2810 dm->gnt.bt[i].wlan_act = 0; in _set_gnt_v1()
2813 dm->gnt.bt[i].wlan_act_en = 1; in _set_gnt_v1()
2814 dm->gnt.bt[i].wlan_act = 0; in _set_gnt_v1()
2817 dm->gnt.bt[i].wlan_act_en = 1; in _set_gnt_v1()
2818 dm->gnt.bt[i].wlan_act = 1; in _set_gnt_v1()
2823 rtw89_mac_cfg_gnt_v2(rtwdev, &dm->gnt); in _set_gnt_v1()
2856 btc->dm.rf_trx_para.wl_tx_power = level; in _set_wl_tx_power()
2887 btc->dm.rf_trx_para.wl_rx_gain = level; in _set_wl_rx_gain()
2917 btc->dm.rf_trx_para.bt_tx_power = level; in _set_bt_tx_power()
2937 btc->dm.rf_trx_para.bt_rx_gain = level; in _set_bt_rx_gain()
2956 struct rtw89_btc_dm *dm = &btc->dm; in _set_rf_trx_para() local
2982 if ((btc->dm.wl_btg_rx && b->profile_cnt.now != 0) || in _set_rf_trx_para()
2983 dm->bt_only == 1) in _set_rf_trx_para()
2984 dm->trx_para_level = 1; /* for better BT ACI issue */ in _set_rf_trx_para()
2986 dm->trx_para_level = 0; in _set_rf_trx_para()
2988 dm->trx_para_level = 5; in _set_rf_trx_para()
2994 dm->trx_para_level = 6; in _set_rf_trx_para()
2996 dm->trx_para_level = 7; in _set_rf_trx_para()
3000 level_id = dm->trx_para_level; in _set_rf_trx_para()
3014 if (dm->fddt_train) { in _set_rf_trx_para()
3024 if (!bt->enable.now || dm->wl_only || wl_smap->rf_off || in _set_rf_trx_para()
3033 if (wl_stb_chg != dm->wl_stb_chg) { in _set_rf_trx_para()
3034 dm->wl_stb_chg = wl_stb_chg; in _set_rf_trx_para()
3035 chip->ops->btc_wl_s1_standby(rtwdev, dm->wl_stb_chg); in _set_rf_trx_para()
3267 btc->dm.trx_para_level = 0; in _check_freerun()
3273 btc->dm.trx_para_level = 5; in _check_freerun()
3278 btc->dm.trx_para_level = 5; in _check_freerun()
3283 btc->dm.trx_para_level = 5; in _check_freerun()
3289 btc->dm.trx_para_level = 5; in _check_freerun()
3294 btc->dm.trx_para_level = 5; in _check_freerun()
3297 btc->dm.trx_para_level = 0; in _check_freerun()
3301 btc->dm.trx_para_level = 6; in _check_freerun()
3304 btc->dm.trx_para_level = 7; in _check_freerun()
3307 btc->dm.trx_para_level = 0; in _check_freerun()
3311 btc->dm.trx_para_level = 6; in _check_freerun()
3316 btc->dm.trx_para_level = 0; in _check_freerun()
3320 #define _tdma_set_flctrl(btc, flc) ({(btc)->dm.tdma.rxflctrl = flc; })
3321 #define _tdma_set_flctrl_role(btc, role) ({(btc)->dm.tdma.rxflctrl_role = role; })
3322 #define _tdma_set_tog(btc, wtg) ({(btc)->dm.tdma.wtgle_n = wtg; })
3323 #define _tdma_set_lek(btc, lek) ({(btc)->dm.tdma.leak_n = lek; })
3397 struct rtw89_btc_dm *dm = &btc->dm; in rtw89_btc_set_policy() local
3398 struct rtw89_btc_fbtc_tdma *t = &dm->tdma; in rtw89_btc_set_policy()
3399 struct rtw89_btc_fbtc_slot *s = dm->slot.v1; in rtw89_btc_set_policy()
3539 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
3541 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy()
3596 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
3598 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy()
3620 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
3622 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy()
3657 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
3659 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in rtw89_btc_set_policy()
3694 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
3696 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in rtw89_btc_set_policy()
3708 struct rtw89_btc_dm *dm = &btc->dm; in rtw89_btc_set_policy_v1() local
3709 struct rtw89_btc_fbtc_tdma *t = &dm->tdma; in rtw89_btc_set_policy_v1()
3729 if (dm->leak_ap && in rtw89_btc_set_policy_v1()
3835 dur_2 = dm->e2g_slot_limit; in rtw89_btc_set_policy_v1()
3939 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
3941 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
3978 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
3980 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
4005 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
4007 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
4032 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
4034 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
4072 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
4074 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
4076 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in rtw89_btc_set_policy_v1()
4114 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
4116 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
4118 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in rtw89_btc_set_policy_v1()
4127 if (wl_rinfo->link_mode == BTC_WLINK_2G_SCC && dm->tdma.rxflctrl) { in rtw89_btc_set_policy_v1()
4128 null_role = FIELD_PREP(0x0f, dm->wl_scc.null_role1) | in rtw89_btc_set_policy_v1()
4129 FIELD_PREP(0xf0, dm->wl_scc.null_role2); in rtw89_btc_set_policy_v1()
4134 if (dm->leak_ap && dm->tdma.leak_n > 1) in rtw89_btc_set_policy_v1()
4137 if (dm->tdma_instant_excute) { in rtw89_btc_set_policy_v1()
4138 btc->dm.tdma.option_ctrl |= BIT(0); in rtw89_btc_set_policy_v1()
4179 struct rtw89_btc_dm *dm = &btc->dm; in _set_ant_v0() local
4199 if (btc->dm.run_reason == BTC_RSN_NTFY_POWEROFF || in _set_ant_v0()
4200 btc->dm.run_reason == BTC_RSN_NTFY_RADIO_STATE || in _set_ant_v0()
4201 btc->dm.run_reason == BTC_RSN_CMD_SET_COEX || dbcc_chg) in _set_ant_v0()
4204 if (!force_exec && ant_path_type == dm->set_ant_path) { in _set_ant_v0()
4213 } else if (btc->dm.run_reason != BTC_RSN_NTFY_WL_RFK && in _set_ant_v0()
4220 dm->set_ant_path = ant_path_type; in _set_ant_v0()
4225 __func__, phy_map, dm->set_ant_path & 0xff); in _set_ant_v0()
4314 struct rtw89_btc_dm *dm = &btc->dm; in _set_ant_v1() local
4317 if (btc->dm.run_reason == BTC_RSN_NTFY_POWEROFF || in _set_ant_v1()
4318 btc->dm.run_reason == BTC_RSN_NTFY_RADIO_STATE || in _set_ant_v1()
4319 btc->dm.run_reason == BTC_RSN_CMD_SET_COEX || wl_rinfo->dbcc_chg) in _set_ant_v1()
4323 btc->dm.wl_btg_rx == 2) in _set_ant_v1()
4326 if (!force_exec && ant_path_type == dm->set_ant_path) { in _set_ant_v1()
4335 } else if (btc->dm.run_reason != BTC_RSN_NTFY_WL_RFK && in _set_ant_v1()
4342 dm->set_ant_path = ant_path_type; in _set_ant_v1()
4346 __func__, phy_map, dm->set_ant_path & 0xff); in _set_ant_v1()
4437 if (wl->status.map.rf_off || btc->dm.bt_only) { in _action_wl_off()
4467 btc->dm.freerun = true; in _action_freerun()
4595 struct rtw89_btc_dm *dm = &btc->dm; in _action_bt_a2dp() local
4599 dm->slot_dur[CXST_W1] = 20; in _action_bt_a2dp()
4600 dm->slot_dur[CXST_B1] = BTC_B1_MAX; in _action_bt_a2dp()
4668 btc->dm.slot_dur[CXST_W1] = 80; in _action_bt_pan()
4669 btc->dm.slot_dur[CXST_B1] = 20; in _action_bt_pan()
4696 struct rtw89_btc_dm *dm = &btc->dm; in _action_bt_a2dp_hid() local
4700 dm->slot_dur[CXST_W1] = 20; in _action_bt_a2dp_hid()
4701 dm->slot_dur[CXST_B1] = BTC_B1_MAX; in _action_bt_a2dp_hid()
4847 btc->dm.tdma_instant_excute = 1; in _action_wl_rfk()
4872 struct rtw89_btc_dm *dm = &btc->dm; in _set_btg_ctrl() local
4874 u32 run_reason = btc->dm.run_reason; in _set_btg_ctrl()
4921 else if (dm->freerun) in _set_btg_ctrl()
4928 if (dm->wl_btg_rx_rb != dm->wl_btg_rx && in _set_btg_ctrl()
4929 dm->wl_btg_rx_rb != BTC_BTGCTRL_BB_GNT_NOTFOUND) { in _set_btg_ctrl()
4931 dm->wl_btg_rx_rb = val; in _set_btg_ctrl()
4936 dm->wl_btg_rx_rb != dm->wl_btg_rx || in _set_btg_ctrl()
4937 is_btg != dm->wl_btg_rx) { in _set_btg_ctrl()
4939 dm->wl_btg_rx = is_btg; in _set_btg_ctrl()
4958 struct rtw89_btc_dm *dm = &btc->dm; in _set_wl_preagc_ctrl() local
4991 } else if (dm->tdma_now.type != CXTDMA_OFF && in _set_wl_preagc_ctrl()
4994 dm->fddt_train == BTC_FDDT_DISABLE) { in _set_wl_preagc_ctrl()
5004 if (dm->wl_pre_agc_rb != dm->wl_pre_agc && in _set_wl_preagc_ctrl()
5005 dm->wl_pre_agc_rb != BTC_PREAGC_NOTFOUND) { in _set_wl_preagc_ctrl()
5007 dm->wl_pre_agc_rb = val; in _set_wl_preagc_ctrl()
5011 (dm->run_reason == BTC_RSN_NTFY_INIT || in _set_wl_preagc_ctrl()
5012 dm->run_reason == BTC_RSN_NTFY_SWBAND || in _set_wl_preagc_ctrl()
5013 dm->wl_pre_agc_rb != dm->wl_pre_agc)) || in _set_wl_preagc_ctrl()
5014 is_preagc != dm->wl_pre_agc) { in _set_wl_preagc_ctrl()
5015 dm->wl_pre_agc = is_preagc; in _set_wl_preagc_ctrl()
5019 chip->ops->ctrl_nbtg_bt_tx(rtwdev, dm->wl_pre_agc, RTW89_PHY_0); in _set_wl_preagc_ctrl()
5109 struct rtw89_btc_dm *dm = &btc->dm; in _set_wl_tx_limit() local
5147 if (btc->dm.freerun || igno_bt || b->profile_cnt.now == 0 || in _set_wl_tx_limit()
5166 if (dm->wl_tx_limit.enable == enable && in _set_wl_tx_limit()
5167 dm->wl_tx_limit.tx_time == tx_time && in _set_wl_tx_limit()
5168 dm->wl_tx_limit.tx_retry == tx_retry) in _set_wl_tx_limit()
5171 if (!dm->wl_tx_limit.enable && enable) in _set_wl_tx_limit()
5174 dm->wl_tx_limit.enable = enable; in _set_wl_tx_limit()
5175 dm->wl_tx_limit.tx_time = tx_time; in _set_wl_tx_limit()
5176 dm->wl_tx_limit.tx_retry = tx_retry; in _set_wl_tx_limit()
5215 if (mode != BTC_WLINK_NOLINK && btc->dm.wl_btg_rx) in _set_bt_rx_agc()
5238 struct rtw89_btc_dm *dm = &btc->dm; in _action_common() local
5258 if (dm->run_reason == BTC_RSN_NTFY_INIT || in _action_common()
5259 dm->run_reason == BTC_RSN_NTFY_RADIO_STATE || in _action_common()
5260 dm->run_reason == BTC_RSN_NTFY_POWEROFF) { in _action_common()
5276 btc->dm.tdma_instant_excute = 0; in _action_common()
5287 struct rtw89_btc_dm *dm = &btc->dm; in _action_by_bt() local
5290 if (dm->freerun_chk) { in _action_by_bt()
5387 btc->dm.e2g_slot_limit = BTC_E2G_LIMIT_DEF; in _action_wl_25g_mcc()
5457 struct rtw89_btc_dm *dm = &btc->dm; in _action_wl_2g_scc_v1() local
5468 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v1()
5469 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_P2P_CLIENT; in _action_wl_2g_scc_v1()
5470 dm->wl_scc.ebt_null = 0; /* no ext-slot-control */ in _action_wl_2g_scc_v1()
5474 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v1()
5475 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v1()
5476 dm->wl_scc.ebt_null = 0; /* no ext-slot-control */ in _action_wl_2g_scc_v1()
5482 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v1()
5483 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_NONE; in _action_wl_2g_scc_v1()
5487 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v1()
5490 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v1()
5494 dm->wl_scc.ebt_null = 1; /* tx null at EBT */ in _action_wl_2g_scc_v1()
5498 dm->wl_scc.ebt_null = 1; /* tx null at EBT */ in _action_wl_2g_scc_v1()
5501 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v1()
5519 struct rtw89_btc_dm *dm = &btc->dm; in _action_wl_2g_scc_v2() local
5541 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v2()
5542 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_P2P_CLIENT; in _action_wl_2g_scc_v2()
5543 dm->wl_scc.ebt_null = 0; /* no ext-slot-control */ in _action_wl_2g_scc_v2()
5547 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v2()
5548 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v2()
5549 dm->wl_scc.ebt_null = 0; /* no ext-slot-control */ in _action_wl_2g_scc_v2()
5555 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v2()
5556 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_NONE; in _action_wl_2g_scc_v2()
5560 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v2()
5563 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v2()
5567 dm->wl_scc.ebt_null = 1; /* tx null at EBT */ in _action_wl_2g_scc_v2()
5571 dm->wl_scc.ebt_null = 1; /* tx null at EBT */ in _action_wl_2g_scc_v2()
5574 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v2()
5592 struct rtw89_btc_dm *dm = &btc->dm; in _action_wl_2g_scc_v8() local
5606 dm->e2g_slot_limit = BTC_E2G_LIMIT_DEF; in _action_wl_2g_scc_v8()
6577 btc->dm.leak_ap = 0; in _update_wl_info_v8()
6717 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_act1_work() local
6724 dm->cnt_notify[BTC_NCNT_TIMER]++; in rtw89_coex_act1_work()
6738 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_bt_devinfo_work() local
6744 dm->cnt_notify[BTC_NCNT_TIMER]++; in rtw89_coex_bt_devinfo_work()
6754 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_rfk_chk_work() local
6761 dm->cnt_notify[BTC_NCNT_TIMER]++; in rtw89_coex_rfk_chk_work()
6766 dm->error.map.wl_rfk_timeout = true; in rtw89_coex_rfk_chk_work()
6863 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in _run_coex() local
6876 dm->run_reason = reason; in _run_coex()
6904 __func__, dm->wl_only, dm->bt_only); in _run_coex()
6918 "[BTC], %s(): return for Stop Coex DM!!\n", in _run_coex()
6948 dm->freerun = false; in _run_coex()
6949 dm->cnt_dm[BTC_DCNT_RUN]++; in _run_coex()
6950 dm->fddt_train = BTC_FDDT_DISABLE; in _run_coex()
6954 dm->freerun_chk = _check_freerun(rtwdev); /* check if meet freerun */ in _run_coex()
6962 if (dm->wl_only) { in _run_coex()
6968 if (wl->status.map.rf_off || wl->status.map.lps || dm->bt_only) { in _run_coex()
7065 btc->dm.cnt_notify[BTC_NCNT_POWER_ON]++; in rtw89_btc_ntfy_poweron()
7074 btc->dm.cnt_notify[BTC_NCNT_POWER_OFF]++; in rtw89_btc_ntfy_poweroff()
7093 struct rtw89_btc_dm *dm = &btc->dm; in _set_init_info() local
7097 dm->init_info.init_v7.wl_only = (u8)dm->wl_only; in _set_init_info()
7098 dm->init_info.init_v7.bt_only = (u8)dm->bt_only; in _set_init_info()
7099 dm->init_info.init_v7.wl_init_ok = (u8)wl->status.map.init_ok; in _set_init_info()
7100 dm->init_info.init_v7.cx_other = btc->cx.other.type; in _set_init_info()
7101 dm->init_info.init_v7.wl_guard_ch = chip->afh_guard_ch; in _set_init_info()
7102 dm->init_info.init_v7.module = btc->mdinfo.md_v7; in _set_init_info()
7104 dm->init_info.init.wl_only = (u8)dm->wl_only; in _set_init_info()
7105 dm->init_info.init.bt_only = (u8)dm->bt_only; in _set_init_info()
7106 dm->init_info.init.wl_init_ok = (u8)wl->status.map.init_ok; in _set_init_info()
7107 dm->init_info.init.dbcc_en = rtwdev->dbcc_en; in _set_init_info()
7108 dm->init_info.init.cx_other = btc->cx.other.type; in _set_init_info()
7109 dm->init_info.init.wl_guard_ch = chip->afh_guard_ch; in _set_init_info()
7110 dm->init_info.init.module = btc->mdinfo.md; in _set_init_info()
7117 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_btc_ntfy_init() local
7123 btc->dm.run_reason = BTC_RSN_NONE; in rtw89_btc_ntfy_init()
7124 btc->dm.run_action = BTC_ACT_NONE; in rtw89_btc_ntfy_init()
7134 dm->cnt_notify[BTC_NCNT_INIT_COEX]++; in rtw89_btc_ntfy_init()
7135 dm->wl_only = mode == BTC_MODE_WL ? 1 : 0; in rtw89_btc_ntfy_init()
7136 dm->bt_only = mode == BTC_MODE_BT ? 1 : 0; in rtw89_btc_ntfy_init()
7146 dm->error.map.init = true; in rtw89_btc_ntfy_init()
7157 dm->error.map.pta_owner = true; in rtw89_btc_ntfy_init()
7182 btc->dm.cnt_notify[BTC_NCNT_SCAN_START]++; in rtw89_btc_ntfy_scan_start()
7204 btc->dm.cnt_notify[BTC_NCNT_SCAN_FINISH]++; in rtw89_btc_ntfy_scan_finish()
7215 btc->dm.tdma_instant_excute = 1; in rtw89_btc_ntfy_scan_finish()
7232 btc->dm.cnt_notify[BTC_NCNT_SWITCH_BAND]++; in rtw89_btc_ntfy_switch_band()
7302 btc->dm.cnt_notify[BTC_NCNT_SPECIAL_PACKET]++; in rtw89_btc_ntfy_specific_packet()
7385 if (mode == BTC_WLINK_5G || rtwdev->btc.dm.freerun) { in _update_zb_coex_tbl()
7449 btc->dm.trx_info.bt_profile = u32_get_bits(btinfo.val, BT_PROFILE_PROTOCOL_MASK); in _update_bt_info()
7467 btc->dm.trx_info.bt_rssi = bt->rssi_level; in _update_bt_info()
7617 btc->dm.cnt_notify[BTC_NCNT_ROLE_INFO]++; in rtw89_btc_ntfy_role_info()
7658 btc->dm.leak_ap = 0; in rtw89_btc_ntfy_role_info()
7681 btc->dm.cnt_notify[BTC_NCNT_RADIO_STATE]++; in rtw89_btc_ntfy_radio_state()
7726 btc->dm.cnt_dm[BTC_DCNT_BTCNT_HANG] = 0; in rtw89_btc_ntfy_radio_state()
7727 btc->dm.tdma_instant_excute = 1; in rtw89_btc_ntfy_radio_state()
7760 btc->dm.cnt_notify[BTC_NCNT_WL_RFK]++; in _ntfy_wl_rfk()
7797 __func__, btc->dm.cnt_notify[BTC_NCNT_WL_RFK], result); in _ntfy_wl_rfk()
7857 struct rtw89_btc_dm *dm = &btc->dm; in __rtw89_btc_ntfy_wl_sta_iter() local
7944 dm->trx_info.tx_rate = link_info_t->tx_rate; in __rtw89_btc_ntfy_wl_sta_iter()
7945 dm->trx_info.rx_rate = link_info_t->rx_rate; in __rtw89_btc_ntfy_wl_sta_iter()
7961 dm->trx_info.tx_lvl = stats->tx_tfc_lv; in __rtw89_btc_ntfy_wl_sta_iter()
7962 dm->trx_info.rx_lvl = stats->rx_tfc_lv; in __rtw89_btc_ntfy_wl_sta_iter()
7963 dm->trx_info.tx_rate = rtwsta_link->ra_report.hw_rate; in __rtw89_btc_ntfy_wl_sta_iter()
7964 dm->trx_info.rx_rate = rtwsta_link->rx_hw_rate; in __rtw89_btc_ntfy_wl_sta_iter()
7967 dm->trx_info.tx_tp = link_info_t->tx_throughput; in __rtw89_btc_ntfy_wl_sta_iter()
7968 dm->trx_info.rx_tp = link_info_t->rx_throughput; in __rtw89_btc_ntfy_wl_sta_iter()
7971 if ((dm->wl_btg_rx_rb != dm->wl_btg_rx && in __rtw89_btc_ntfy_wl_sta_iter()
7972 dm->wl_btg_rx_rb != BTC_BTGCTRL_BB_GNT_NOTFOUND) || in __rtw89_btc_ntfy_wl_sta_iter()
7973 (dm->wl_pre_agc_rb != dm->wl_pre_agc && in __rtw89_btc_ntfy_wl_sta_iter()
7974 dm->wl_pre_agc_rb != BTC_PREAGC_NOTFOUND)) in __rtw89_btc_ntfy_wl_sta_iter()
8004 struct rtw89_btc_dm *dm = &btc->dm; in rtw89_btc_ntfy_wl_sta() local
8014 btc->dm.cnt_notify[BTC_NCNT_WL_STA]++; in rtw89_btc_ntfy_wl_sta()
8023 if (dm->trx_info.wl_rssi != wl->rssi_level) in rtw89_btc_ntfy_wl_sta()
8024 dm->trx_info.wl_rssi = wl->rssi_level; in rtw89_btc_ntfy_wl_sta()
8037 } else if (btc->dm.cnt_notify[BTC_NCNT_WL_STA] >= in rtw89_btc_ntfy_wl_sta()
8038 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] + BTC_NHM_CHK_INTVL) { in rtw89_btc_ntfy_wl_sta()
8039 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] = in rtw89_btc_ntfy_wl_sta()
8040 btc->dm.cnt_notify[BTC_NCNT_WL_STA]; in rtw89_btc_ntfy_wl_sta()
8041 } else if (btc->dm.cnt_notify[BTC_NCNT_WL_STA] < in rtw89_btc_ntfy_wl_sta()
8042 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST]) { in rtw89_btc_ntfy_wl_sta()
8043 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] = in rtw89_btc_ntfy_wl_sta()
8044 btc->dm.cnt_notify[BTC_NCNT_WL_STA]; in rtw89_btc_ntfy_wl_sta()
8147 btc->dm.cnt_dm[BTC_DCNT_CX_RUNINFO]++; in rtw89_btc_c2h_handle()
8161 struct rtw89_btc_dm *dm = &btc->dm; in _show_cx_info() local
8168 if (!(dm->coex_info_map & BTC_COEX_INFO_CX)) in _show_cx_info()
8171 dm->cnt_notify[BTC_NCNT_SHOW_COEX_INFO]++; in _show_cx_info()
8327 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_WL)) in _show_wl_info()
8443 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_BT)) in _show_bt_info()
8485 " %-15s : rssi:%ddBm(lvl:%d), tx_rate:%dM, %s%s%s", in _show_bt_info()
8912 struct rtw89_btc_dm *dm = &btc->dm; in _show_dm_step() local
8917 len = dm->dm_step.step_ov ? RTW89_BTC_DM_MAXSTEP : dm->dm_step.step_pos; in _show_dm_step()
8918 start_idx = dm->dm_step.step_ov ? dm->dm_step.step_pos : 0; in _show_dm_step()
8920 p += scnprintf_segment(p, end - p, "[dm_steps]", dm->dm_step.step, len, in _show_dm_step()
8921 6, start_idx, ARRAY_SIZE(dm->dm_step.step)); in _show_dm_step()
8930 struct rtw89_btc_dm *dm = &btc->dm; in _show_dm_info() local
8936 if (!(dm->coex_info_map & BTC_COEX_INFO_DM)) in _show_dm_info()
8947 steps_to_str(dm->run_reason), in _show_dm_info()
8948 steps_to_str(dm->run_action | BTC_ACT_EXT_BIT), in _show_dm_info()
8949 id_to_ant(FIELD_GET(GENMASK(7, 0), dm->set_ant_path)), in _show_dm_info()
8951 dm->cnt_dm[BTC_DCNT_RUN]); in _show_dm_info()
8962 "[dm_flag]", dm->wl_only, dm->bt_only, igno_bt, in _show_dm_info()
8963 dm->freerun, btc->lps, dm->wl_mimo_ps); in _show_dm_info()
8966 dm->leak_ap, in _show_dm_info()
8968 (dm->wl_fw_cx_offload == BTC_CX_FW_OFFLOAD ? in _show_dm_info()
8971 if (dm->rf_trx_para.wl_tx_power == 0xff) in _show_dm_info()
8975 dm->trx_para_level); in _show_dm_info()
8981 dm->trx_para_level, in _show_dm_info()
8982 dm->rf_trx_para.wl_tx_power); in _show_dm_info()
8986 dm->rf_trx_para.wl_rx_gain, in _show_dm_info()
8987 dm->rf_trx_para.bt_tx_power, in _show_dm_info()
8988 dm->rf_trx_para.bt_rx_gain, in _show_dm_info()
8989 (bt->hi_lna_rx ? "Hi" : "Ori"), dm->wl_btg_rx); in _show_dm_info()
8993 "[dm_ctrl]", dm->wl_tx_limit.enable, in _show_dm_info()
8994 dm->wl_tx_limit.tx_time, in _show_dm_info()
8995 dm->wl_tx_limit.tx_retry, btc->bt_req_len, in _show_dm_info()
9111 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_slots() local
9119 dur = le16_to_cpu(dm->slot_now.v1[i].dur); in _show_fbtc_slots()
9120 tbl = le32_to_cpu(dm->slot_now.v1[i].cxtbl); in _show_fbtc_slots()
9121 cxtype = le16_to_cpu(dm->slot_now.v1[i].cxtype); in _show_fbtc_slots()
9123 dur = le16_to_cpu(dm->slot_now.v7[i].dur); in _show_fbtc_slots()
9124 tbl = le32_to_cpu(dm->slot_now.v7[i].cxtbl); in _show_fbtc_slots()
9125 cxtype = le16_to_cpu(dm->slot_now.v7[i].cxtype); in _show_fbtc_slots()
9154 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta_v2() local
9184 if (dm->tdma_now.rxflctrl) { in _show_fbtc_cysta_v2()
9258 r.val = dm->tdma_now.rxflctrl; in _show_fbtc_cysta_v2()
9288 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta_v3() local
9318 if (dm->tdma_now.rxflctrl) in _show_fbtc_cysta_v3()
9380 p += scnprintf(p, end - p, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v3()
9392 p += scnprintf(p, end - p, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v3()
9427 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta_v4() local
9457 if (dm->tdma_now.rxflctrl) in _show_fbtc_cysta_v4()
9519 p += scnprintf(p, end - p, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v4()
9531 p += scnprintf(p, end - p, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v4()
9566 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta_v5() local
9596 if (dm->tdma_now.rxflctrl) in _show_fbtc_cysta_v5()
9657 p += scnprintf(p, end - p, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v5()
9669 p += scnprintf(p, end - p, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v5()
9705 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in _show_fbtc_cysta_v7() local
9728 if (dm->tdma_now.rxflctrl) in _show_fbtc_cysta_v7()
9751 dm->bt_slot_flood, dm->cnt_dm[BTC_DCNT_BT_SLOT_FLOOD], in _show_fbtc_cysta_v7()
9812 p += scnprintf(p, end - p, "(%d/%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v7()
9828 p += scnprintf(p, end - p, "(%d/%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v7()
9855 if (!btc->dm.tdma_now.rxflctrl) in _show_fbtc_nullsta()
10075 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_DM)) in _show_fw_dm_msg()
10208 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_MREG)) in _show_mreg_v1()
10220 btc->dm.pta_owner = rtw89_mac_get_ctrl_path(rtwdev); in _show_mreg_v1()
10228 btc->dm.pta_owner == BTC_CTRL_BY_WL ? "WL" : "BT", in _show_mreg_v1()
10293 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_MREG)) in _show_mreg_v2()
10305 btc->dm.pta_owner = rtw89_mac_get_ctrl_path(rtwdev); in _show_mreg_v2()
10313 btc->dm.pta_owner == BTC_CTRL_BY_WL ? "WL" : "BT", in _show_mreg_v2()
10373 struct rtw89_btc_dm *dm = &btc->dm; in _show_mreg_v7() local
10378 if (!(dm->coex_info_map & BTC_COEX_INFO_MREG)) in _show_mreg_v7()
10391 dm->pta_owner = rtw89_mac_get_ctrl_path(rtwdev); in _show_mreg_v7()
10397 dm->pta_owner == BTC_CTRL_BY_WL ? "WL" : "BT", in _show_mreg_v7()
10401 gnt = &dm->gnt.band[RTW89_PHY_0]; in _show_mreg_v7()
10408 gnt = &dm->gnt.band[RTW89_PHY_1]; in _show_mreg_v7()
10448 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary_v1() local
10451 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary_v1()
10455 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v1()
10474 prptctrl->rpt_enable, dm->error.val); in _show_summary_v1()
10476 if (dm->error.map.wl_fw_hang) in _show_summary_v1()
10511 dm->error.map.wl_rfk_timeout = bt->rfk_info.map.timeout; in _show_summary_v1()
10523 cnt_sum += dm->cnt_notify[i]; in _show_summary_v1()
10557 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary_v4() local
10560 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary_v4()
10564 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v4()
10586 dm->error.val); in _show_summary_v4()
10588 if (dm->error.map.wl_fw_hang) in _show_summary_v4()
10626 dm->error.map.wl_rfk_timeout = bt->rfk_info.map.timeout; in _show_summary_v4()
10638 cnt_sum += dm->cnt_notify[i]; in _show_summary_v4()
10672 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary_v5() local
10674 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary_v5()
10678 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v5()
10702 if (dm->error.map.wl_fw_hang) in _show_summary_v5()
10755 cnt_sum += dm->cnt_notify[i]; in _show_summary_v5()
10793 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary_v105() local
10795 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary_v105()
10799 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v105()
10823 if (dm->error.map.wl_fw_hang) in _show_summary_v105()
10876 cnt_sum += dm->cnt_notify[i]; in _show_summary_v105()
10913 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in _show_summary_v7() local
10915 u32 *cnt = rtwdev->btc.dm.cnt_notify; in _show_summary_v7()
10920 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v7()
10948 if (dm->error.map.wl_fw_hang) in _show_summary_v7()
10990 cnt_sum += dm->cnt_notify[i]; in _show_summary_v7()
11026 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in _show_summary_v8() local
11028 u32 *cnt = rtwdev->btc.dm.cnt_notify; in _show_summary_v8()
11033 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v8()
11061 if (dm->error.map.wl_fw_hang) in _show_summary_v8()
11103 cnt_sum += dm->cnt_notify[i]; in _show_summary_v8()