Lines Matching full:dm
736 memset(&btc->dm, 0, sizeof(btc->dm)); in _reset_btc_var()
744 btc->dm.tdma_now = t_def[CXTD_OFF]; in _reset_btc_var()
745 btc->dm.tdma = t_def[CXTD_OFF]; in _reset_btc_var()
746 memcpy(&btc->dm.slot_now, s_def, sizeof(btc->dm.slot_now)); in _reset_btc_var()
747 memcpy(&btc->dm.slot, s_def, sizeof(btc->dm.slot)); in _reset_btc_var()
752 btc->dm.coex_info_map = BTC_COEX_INFO_ALL; in _reset_btc_var()
753 btc->dm.wl_tx_limit.tx_time = BTC_MAX_TX_TIME_DEF; in _reset_btc_var()
754 btc->dm.wl_tx_limit.tx_retry = BTC_MAX_TX_RETRY_DEF; in _reset_btc_var()
755 btc->dm.wl_pre_agc_rb = BTC_PREAGC_NOTFOUND; in _reset_btc_var()
756 btc->dm.wl_btg_rx_rb = BTC_BTGCTRL_BB_GNT_NOTFOUND; in _reset_btc_var()
873 struct rtw89_btc_dm *dm = &btc->dm; in _chk_btc_err() local
882 if (dm->cnt_dm[BTC_DCNT_RPT] == cnt && btc->fwinfo.rpt_en_map) in _chk_btc_err()
883 dm->cnt_dm[BTC_DCNT_RPT_HANG]++; in _chk_btc_err()
885 dm->cnt_dm[BTC_DCNT_RPT_HANG] = 0; in _chk_btc_err()
887 if (dm->cnt_dm[BTC_DCNT_RPT_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
888 dm->error.map.wl_fw_hang = true; in _chk_btc_err()
890 dm->error.map.wl_fw_hang = false; in _chk_btc_err()
892 dm->cnt_dm[BTC_DCNT_RPT] = cnt; in _chk_btc_err()
895 if (dm->cnt_dm[BTC_DCNT_CYCLE] == cnt && in _chk_btc_err()
896 (dm->tdma_now.type != CXTDMA_OFF || in _chk_btc_err()
897 dm->tdma_now.ext_ctrl == CXECTL_EXT)) in _chk_btc_err()
898 dm->cnt_dm[BTC_DCNT_CYCLE_HANG]++; in _chk_btc_err()
900 dm->cnt_dm[BTC_DCNT_CYCLE_HANG] = 0; in _chk_btc_err()
902 if (dm->cnt_dm[BTC_DCNT_CYCLE_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
903 dm->error.map.cycle_hang = true; in _chk_btc_err()
905 dm->error.map.cycle_hang = false; in _chk_btc_err()
907 dm->cnt_dm[BTC_DCNT_CYCLE] = cnt; in _chk_btc_err()
910 if (dm->cnt_dm[BTC_DCNT_W1] == cnt && in _chk_btc_err()
911 dm->tdma_now.type != CXTDMA_OFF) in _chk_btc_err()
912 dm->cnt_dm[BTC_DCNT_W1_HANG]++; in _chk_btc_err()
914 dm->cnt_dm[BTC_DCNT_W1_HANG] = 0; in _chk_btc_err()
916 if (dm->cnt_dm[BTC_DCNT_W1_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
917 dm->error.map.w1_hang = true; in _chk_btc_err()
919 dm->error.map.w1_hang = false; in _chk_btc_err()
921 dm->cnt_dm[BTC_DCNT_W1] = cnt; in _chk_btc_err()
924 if (dm->cnt_dm[BTC_DCNT_B1] == cnt && in _chk_btc_err()
925 dm->tdma_now.type != CXTDMA_OFF) in _chk_btc_err()
926 dm->cnt_dm[BTC_DCNT_B1_HANG]++; in _chk_btc_err()
928 dm->cnt_dm[BTC_DCNT_B1_HANG] = 0; in _chk_btc_err()
930 if (dm->cnt_dm[BTC_DCNT_B1_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
931 dm->error.map.b1_hang = true; in _chk_btc_err()
933 dm->error.map.b1_hang = false; in _chk_btc_err()
935 dm->cnt_dm[BTC_DCNT_B1] = cnt; in _chk_btc_err()
938 if (dm->cnt_dm[BTC_DCNT_E2G] == cnt && in _chk_btc_err()
939 dm->tdma_now.ext_ctrl == CXECTL_EXT) in _chk_btc_err()
940 dm->cnt_dm[BTC_DCNT_E2G_HANG]++; in _chk_btc_err()
942 dm->cnt_dm[BTC_DCNT_E2G_HANG] = 0; in _chk_btc_err()
944 if (dm->cnt_dm[BTC_DCNT_E2G_HANG] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
945 dm->error.map.wl_e2g_hang = true; in _chk_btc_err()
947 dm->error.map.wl_e2g_hang = false; in _chk_btc_err()
949 dm->cnt_dm[BTC_DCNT_E2G] = cnt; in _chk_btc_err()
953 dm->cnt_dm[BTC_DCNT_TDMA_NONSYNC]++; in _chk_btc_err()
955 dm->cnt_dm[BTC_DCNT_TDMA_NONSYNC] = 0; in _chk_btc_err()
957 if (dm->cnt_dm[BTC_DCNT_TDMA_NONSYNC] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
958 dm->error.map.tdma_no_sync = true; in _chk_btc_err()
960 dm->error.map.tdma_no_sync = false; in _chk_btc_err()
964 dm->cnt_dm[BTC_DCNT_SLOT_NONSYNC]++; in _chk_btc_err()
966 dm->cnt_dm[BTC_DCNT_SLOT_NONSYNC] = 0; in _chk_btc_err()
968 if (dm->cnt_dm[BTC_DCNT_SLOT_NONSYNC] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
969 dm->error.map.slot_no_sync = true; in _chk_btc_err()
971 dm->error.map.slot_no_sync = false; in _chk_btc_err()
980 dm->cnt_dm[BTC_DCNT_BTCNT_HANG]++; in _chk_btc_err()
982 dm->cnt_dm[BTC_DCNT_BTCNT_HANG] = 0; in _chk_btc_err()
984 if ((dm->cnt_dm[BTC_DCNT_BTCNT_HANG] >= BTC_CHK_HANG_MAX && in _chk_btc_err()
985 bt->enable.now) || (!dm->cnt_dm[BTC_DCNT_BTCNT_HANG] && in _chk_btc_err()
991 dm->cnt_dm[BTC_DCNT_WL_SLOT_DRIFT]++; in _chk_btc_err()
993 dm->cnt_dm[BTC_DCNT_WL_SLOT_DRIFT] = 0; in _chk_btc_err()
995 if (dm->cnt_dm[BTC_DCNT_WL_SLOT_DRIFT] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
996 dm->error.map.wl_slot_drift = true; in _chk_btc_err()
998 dm->error.map.wl_slot_drift = false; in _chk_btc_err()
1002 dm->cnt_dm[BTC_DCNT_BT_SLOT_DRIFT]++; in _chk_btc_err()
1004 dm->cnt_dm[BTC_DCNT_BT_SLOT_DRIFT] = 0; in _chk_btc_err()
1006 if (dm->cnt_dm[BTC_DCNT_BT_SLOT_DRIFT] >= BTC_CHK_HANG_MAX) in _chk_btc_err()
1007 dm->error.map.bt_slot_drift = true; in _chk_btc_err()
1009 dm->error.map.bt_slot_drift = false; in _chk_btc_err()
1110 struct rtw89_btc_dm *dm = &btc->dm; in _chk_btc_report() local
1328 dm->wl_fw_cx_offload = !!prpt->v1.wl_fw_cx_offload; in _chk_btc_report()
1348 dm->wl_fw_cx_offload = !!le32_to_cpu(prpt->v4.wl_fw_info.cx_offload); in _chk_btc_report()
1351 memcpy(&dm->gnt.band[i], &prpt->v4.gnt_val[i], in _chk_btc_report()
1352 sizeof(dm->gnt.band[i])); in _chk_btc_report()
1374 dm->error.map.bt_rfk_timeout = bt->rfk_info.map.timeout; in _chk_btc_report()
1380 dm->wl_fw_cx_offload = 0; in _chk_btc_report()
1383 memcpy(&dm->gnt.band[i], &prpt->v5.gnt_val[i][0], in _chk_btc_report()
1384 sizeof(dm->gnt.band[i])); in _chk_btc_report()
1401 dm->error.map.bt_rfk_timeout = bt->rfk_info.map.timeout; in _chk_btc_report()
1407 dm->wl_fw_cx_offload = 0; in _chk_btc_report()
1410 memcpy(&dm->gnt.band[i], &prpt->v105.gnt_val[i][0], in _chk_btc_report()
1411 sizeof(dm->gnt.band[i])); in _chk_btc_report()
1428 dm->error.map.bt_rfk_timeout = bt->rfk_info.map.timeout; in _chk_btc_report()
1437 sizeof(dm->tdma_now)); in _chk_btc_report()
1440 memcmp(&dm->tdma_now, in _chk_btc_report()
1442 sizeof(dm->tdma_now))); in _chk_btc_report()
1445 memcmp(&dm->tdma_now, in _chk_btc_report()
1447 sizeof(dm->tdma_now))); in _chk_btc_report()
1455 sizeof(dm->slot_now)); in _chk_btc_report()
1457 memcmp(dm->slot_now, in _chk_btc_report()
1459 sizeof(dm->slot_now))); in _chk_btc_report()
1467 le32_to_cpu(pcysta->v2.leakrx_cnt) != 0 && dm->tdma_now.rxflctrl) { in _chk_btc_report()
1470 dm->leak_ap = 1; in _chk_btc_report()
1474 if (dm->tdma_now.type == CXTDMA_OFF && in _chk_btc_report()
1475 dm->tdma_now.ext_ctrl == CXECTL_EXT) in _chk_btc_report()
1476 wl_slot_set = le16_to_cpu(dm->slot_now[CXST_E2G].dur); in _chk_btc_report()
1478 wl_slot_set = le16_to_cpu(dm->slot_now[CXST_W1].dur); in _chk_btc_report()
1501 dm->tdma_now.rxflctrl) { in _chk_btc_report()
1503 dm->leak_ap = 1; in _chk_btc_report()
1507 if (dm->tdma_now.type == CXTDMA_OFF) { in _chk_btc_report()
1508 wl_slot_set = le16_to_cpu(dm->slot_now[CXST_W1].dur); in _chk_btc_report()
1517 if (dm->tdma_now.type == CXTDMA_OFF && in _chk_btc_report()
1518 dm->tdma_now.ext_ctrl == CXECTL_EXT && in _chk_btc_report()
1542 dm->tdma_now.rxflctrl) { in _chk_btc_report()
1544 dm->leak_ap = 1; in _chk_btc_report()
1548 if (dm->tdma_now.type == CXTDMA_OFF) { in _chk_btc_report()
1549 wl_slot_set = le16_to_cpu(dm->slot_now[CXST_W1].dur); in _chk_btc_report()
1558 if (dm->tdma_now.type == CXTDMA_OFF && in _chk_btc_report()
1559 dm->tdma_now.ext_ctrl == CXECTL_EXT && in _chk_btc_report()
1576 if (dm->fddt_train == BTC_FDDT_ENABLE) in _chk_btc_report()
1583 dm->tdma_now.rxflctrl) { in _chk_btc_report()
1586 dm->leak_ap = 1; in _chk_btc_report()
1590 if (dm->tdma_now.type == CXTDMA_OFF) { in _chk_btc_report()
1591 wl_slot_set = le16_to_cpu(dm->slot_now[CXST_W1].dur); in _chk_btc_report()
1605 if (dm->tdma_now.type == CXTDMA_OFF && in _chk_btc_report()
1606 dm->tdma_now.ext_ctrl == CXECTL_EXT && in _chk_btc_report()
1629 if (dm->wl_btg_rx == BTC_BTGCTRL_BB_GNT_FWCTRL) in _chk_btc_report()
1630 dm->wl_btg_rx_rb = BTC_BTGCTRL_BB_GNT_FWCTRL; in _chk_btc_report()
1632 dm->wl_btg_rx_rb = val; in _chk_btc_report()
1635 if (dm->wl_pre_agc == BTC_PREAGC_BB_FWCTRL) in _chk_btc_report()
1636 dm->wl_pre_agc_rb = BTC_PREAGC_BB_FWCTRL; in _chk_btc_report()
1638 dm->wl_pre_agc_rb = val; in _chk_btc_report()
1689 struct rtw89_btc_dm *dm = &btc->dm; in _append_tdma() local
1696 !memcmp(&dm->tdma, &dm->tdma_now, sizeof(dm->tdma))) { in _append_tdma()
1708 *v = dm->tdma; in _append_tdma()
1714 v3->tdma = dm->tdma; in _append_tdma()
1720 __func__, dm->tdma.type, dm->tdma.rxflctrl, in _append_tdma()
1721 dm->tdma.txpause, dm->tdma.wtgle_n, dm->tdma.leak_n, in _append_tdma()
1722 dm->tdma.ext_ctrl); in _append_tdma()
1728 struct rtw89_btc_dm *dm = &btc->dm; in _append_slot() local
1740 !memcmp(&dm->slot[i], &dm->slot_now[i], in _append_slot()
1741 sizeof(dm->slot[i]))) in _append_slot()
1753 v->slot = dm->slot[i]; in _append_slot()
1757 __func__, i, dm->slot[i].dur, dm->slot[i].cxtbl, in _append_slot()
1758 dm->slot[i].cxtype); in _append_slot()
2018 struct rtw89_btc_dm *dm = &btc->dm; in _update_dm_step() local
2020 /* use ring-structure to store dm step */ in _update_dm_step()
2021 dm->dm_step.step[dm->dm_step.step_pos] = reason_or_action; in _update_dm_step()
2022 dm->dm_step.step_pos++; in _update_dm_step()
2024 if (dm->dm_step.step_pos >= ARRAY_SIZE(dm->dm_step.step)) { in _update_dm_step()
2025 dm->dm_step.step_pos = 0; in _update_dm_step()
2026 dm->dm_step.step_ov = true; in _update_dm_step()
2034 struct rtw89_btc_dm *dm = &btc->dm; in _fw_set_policy() local
2036 dm->run_action = action; in _fw_set_policy()
2054 if (dm->tdma.rxflctrl == CXFLC_NULLP || in _fw_set_policy()
2055 dm->tdma.rxflctrl == CXFLC_QOSNULL) in _fw_set_policy()
2066 memcpy(&dm->tdma_now, &dm->tdma, sizeof(dm->tdma_now)); in _fw_set_policy()
2067 memcpy(&dm->slot_now, &dm->slot, sizeof(dm->slot_now)); in _fw_set_policy()
2080 struct rtw89_btc_dm *dm = &btc->dm; in _fw_set_drv_info() local
2082 struct rtw89_btc_rf_trx_para rf_para = dm->rf_trx_para; in _fw_set_drv_info()
2100 dm->trx_info.tx_power = u32_get_bits(rf_para.wl_tx_power, in _fw_set_drv_info()
2102 dm->trx_info.rx_gain = u32_get_bits(rf_para.wl_rx_gain, in _fw_set_drv_info()
2104 dm->trx_info.bt_tx_power = u32_get_bits(rf_para.bt_tx_power, in _fw_set_drv_info()
2106 dm->trx_info.bt_rx_gain = u32_get_bits(rf_para.bt_rx_gain, in _fw_set_drv_info()
2108 dm->trx_info.cn = wl->cn_report; in _fw_set_drv_info()
2109 dm->trx_info.nhm = wl->nhm.pwr; in _fw_set_drv_info()
2145 struct rtw89_btc_dm *dm = &btc->dm; in _set_gnt() local
2146 struct rtw89_mac_ax_gnt *g = dm->gnt.band; in _set_gnt()
2187 rtw89_chip_mac_cfg_gnt(rtwdev, &dm->gnt); in _set_gnt()
2220 btc->dm.rf_trx_para.wl_tx_power = level; in _set_wl_tx_power()
2251 btc->dm.rf_trx_para.wl_rx_gain = level; in _set_wl_rx_gain()
2270 btc->dm.rf_trx_para.bt_tx_power = level; in _set_bt_tx_power()
2293 btc->dm.rf_trx_para.bt_rx_gain = level; in _set_bt_rx_gain()
2312 struct rtw89_btc_dm *dm = &btc->dm; in _set_rf_trx_para() local
2338 if ((btc->dm.wl_btg_rx && b->profile_cnt.now != 0) || in _set_rf_trx_para()
2339 dm->bt_only == 1) in _set_rf_trx_para()
2340 dm->trx_para_level = 1; /* for better BT ACI issue */ in _set_rf_trx_para()
2342 dm->trx_para_level = 0; in _set_rf_trx_para()
2344 dm->trx_para_level = 5; in _set_rf_trx_para()
2350 dm->trx_para_level = 6; in _set_rf_trx_para()
2352 dm->trx_para_level = 7; in _set_rf_trx_para()
2356 level_id = dm->trx_para_level; in _set_rf_trx_para()
2370 if (dm->fddt_train) { in _set_rf_trx_para()
2380 if (!bt->enable.now || dm->wl_only || wl_smap->rf_off || in _set_rf_trx_para()
2389 if (wl_stb_chg != dm->wl_stb_chg) { in _set_rf_trx_para()
2390 dm->wl_stb_chg = wl_stb_chg; in _set_rf_trx_para()
2391 chip->ops->btc_wl_s1_standby(rtwdev, dm->wl_stb_chg); in _set_rf_trx_para()
2565 btc->dm.trx_para_level = 0; in _check_freerun()
2572 btc->dm.trx_para_level = 5; in _check_freerun()
2577 btc->dm.trx_para_level = 5; in _check_freerun()
2582 btc->dm.trx_para_level = 5; in _check_freerun()
2588 btc->dm.trx_para_level = 5; in _check_freerun()
2593 btc->dm.trx_para_level = 5; in _check_freerun()
2596 btc->dm.trx_para_level = 0; in _check_freerun()
2600 btc->dm.trx_para_level = 6; in _check_freerun()
2603 btc->dm.trx_para_level = 7; in _check_freerun()
2606 btc->dm.trx_para_level = 0; in _check_freerun()
2610 btc->dm.trx_para_level = 6; in _check_freerun()
2615 btc->dm.trx_para_level = 0; in _check_freerun()
2619 #define _tdma_set_flctrl(btc, flc) ({(btc)->dm.tdma.rxflctrl = flc; })
2620 #define _tdma_set_flctrl_role(btc, role) ({(btc)->dm.tdma.rxflctrl_role = role; })
2621 #define _tdma_set_tog(btc, wtg) ({(btc)->dm.tdma.wtgle_n = wtg; })
2622 #define _tdma_set_lek(btc, lek) ({(btc)->dm.tdma.leak_n = lek; })
2628 _btc->dm.slot[_sid].dur = cpu_to_le16(dura);\
2629 _btc->dm.slot[_sid].cxtbl = cpu_to_le32(tbl); \
2630 _btc->dm.slot[_sid].cxtype = cpu_to_le16(type); \
2633 #define _slot_set_dur(btc, sid, dura) (btc)->dm.slot[sid].dur = cpu_to_le16(dura)
2634 #define _slot_set_tbl(btc, sid, tbl) (btc)->dm.slot[sid].cxtbl = cpu_to_le32(tbl)
2635 #define _slot_set_type(btc, sid, type) (btc)->dm.slot[sid].cxtype = cpu_to_le16(type)
2709 struct rtw89_btc_dm *dm = &btc->dm; in rtw89_btc_set_policy() local
2710 struct rtw89_btc_fbtc_tdma *t = &dm->tdma; in rtw89_btc_set_policy()
2711 struct rtw89_btc_fbtc_slot *s = dm->slot; in rtw89_btc_set_policy()
2851 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
2853 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy()
2908 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
2910 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy()
2932 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
2934 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy()
2969 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
2971 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in rtw89_btc_set_policy()
3006 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy()
3008 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in rtw89_btc_set_policy()
3020 struct rtw89_btc_dm *dm = &btc->dm; in rtw89_btc_set_policy_v1() local
3021 struct rtw89_btc_fbtc_tdma *t = &dm->tdma; in rtw89_btc_set_policy_v1()
3022 struct rtw89_btc_fbtc_slot *s = dm->slot; in rtw89_btc_set_policy_v1()
3039 if (dm->leak_ap && in rtw89_btc_set_policy_v1()
3196 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
3198 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
3235 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
3237 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
3262 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
3264 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
3289 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
3291 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
3329 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
3331 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
3333 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in rtw89_btc_set_policy_v1()
3371 _slot_set(btc, CXST_W1, dm->slot_dur[CXST_W1], in rtw89_btc_set_policy_v1()
3373 _slot_set(btc, CXST_B1, dm->slot_dur[CXST_B1], in rtw89_btc_set_policy_v1()
3375 _slot_set(btc, CXST_B4, dm->slot_dur[CXST_B4], in rtw89_btc_set_policy_v1()
3384 if (wl_rinfo->link_mode == BTC_WLINK_2G_SCC && dm->tdma.rxflctrl) { in rtw89_btc_set_policy_v1()
3385 null_role = FIELD_PREP(0x0f, dm->wl_scc.null_role1) | in rtw89_btc_set_policy_v1()
3386 FIELD_PREP(0xf0, dm->wl_scc.null_role2); in rtw89_btc_set_policy_v1()
3391 if (dm->leak_ap && dm->tdma.leak_n > 1) in rtw89_btc_set_policy_v1()
3394 if (dm->tdma_instant_excute) { in rtw89_btc_set_policy_v1()
3395 btc->dm.tdma.option_ctrl |= BIT(0); in rtw89_btc_set_policy_v1()
3425 struct rtw89_btc_dm *dm = &btc->dm; in _set_ant() local
3435 if (btc->dm.run_reason == BTC_RSN_NTFY_POWEROFF || in _set_ant()
3436 btc->dm.run_reason == BTC_RSN_NTFY_RADIO_STATE || in _set_ant()
3437 btc->dm.run_reason == BTC_RSN_CMD_SET_COEX) in _set_ant()
3440 if (!force_exec && ant_path_type == dm->set_ant_path) { in _set_ant()
3449 } else if (btc->dm.run_reason != BTC_RSN_NTFY_WL_RFK && in _set_ant()
3456 dm->set_ant_path = ant_path_type; in _set_ant()
3461 __func__, phy_map, dm->set_ant_path & 0xff); in _set_ant()
3561 if (wl->status.map.rf_off || btc->dm.bt_only) { in _action_wl_off()
3591 btc->dm.freerun = true; in _action_freerun()
3711 struct rtw89_btc_dm *dm = &btc->dm; in _action_bt_a2dp() local
3717 if (a2dp.vendor_id == 0x4c || dm->leak_ap) { in _action_bt_a2dp()
3718 dm->slot_dur[CXST_W1] = 40; in _action_bt_a2dp()
3719 dm->slot_dur[CXST_B1] = 200; in _action_bt_a2dp()
3735 if (a2dp.vendor_id == 0x4c || dm->leak_ap) { in _action_bt_a2dp()
3736 dm->slot_dur[CXST_W1] = 40; in _action_bt_a2dp()
3737 dm->slot_dur[CXST_B1] = 200; in _action_bt_a2dp()
3812 struct rtw89_btc_dm *dm = &btc->dm; in _action_bt_a2dp_hid() local
3819 if (a2dp.vendor_id == 0x4c || dm->leak_ap) { in _action_bt_a2dp_hid()
3820 dm->slot_dur[CXST_W1] = 40; in _action_bt_a2dp_hid()
3821 dm->slot_dur[CXST_B1] = 200; in _action_bt_a2dp_hid()
3838 if (a2dp.vendor_id == 0x4c || dm->leak_ap) { in _action_bt_a2dp_hid()
3839 dm->slot_dur[CXST_W1] = 40; in _action_bt_a2dp_hid()
3840 dm->slot_dur[CXST_B1] = 200; in _action_bt_a2dp_hid()
3988 struct rtw89_btc_dm *dm = &btc->dm; in _set_btg_ctrl() local
3990 u32 run_reason = btc->dm.run_reason; in _set_btg_ctrl()
4027 else if (dm->freerun) in _set_btg_ctrl()
4034 if (dm->wl_btg_rx_rb != dm->wl_btg_rx && in _set_btg_ctrl()
4035 dm->wl_btg_rx_rb != BTC_BTGCTRL_BB_GNT_NOTFOUND) { in _set_btg_ctrl()
4037 dm->wl_btg_rx_rb = val; in _set_btg_ctrl()
4042 dm->wl_btg_rx_rb != dm->wl_btg_rx || in _set_btg_ctrl()
4043 is_btg != dm->wl_btg_rx) { in _set_btg_ctrl()
4045 dm->wl_btg_rx = is_btg; in _set_btg_ctrl()
4063 struct rtw89_btc_dm *dm = &btc->dm; in _set_wl_preagc_ctrl() local
4078 else if (dm->tdma_now.type != CXTDMA_OFF && in _set_wl_preagc_ctrl()
4081 dm->fddt_train == BTC_FDDT_DISABLE) in _set_wl_preagc_ctrl()
4091 if (dm->wl_pre_agc_rb != dm->wl_pre_agc && in _set_wl_preagc_ctrl()
4092 dm->wl_pre_agc_rb != BTC_PREAGC_NOTFOUND) { in _set_wl_preagc_ctrl()
4094 dm->wl_pre_agc_rb = val; in _set_wl_preagc_ctrl()
4098 (dm->run_reason == BTC_RSN_NTFY_INIT || in _set_wl_preagc_ctrl()
4099 dm->run_reason == BTC_RSN_NTFY_SWBAND || in _set_wl_preagc_ctrl()
4100 dm->wl_pre_agc_rb != dm->wl_pre_agc)) || in _set_wl_preagc_ctrl()
4101 is_preagc != dm->wl_pre_agc) { in _set_wl_preagc_ctrl()
4102 dm->wl_pre_agc = is_preagc; in _set_wl_preagc_ctrl()
4106 chip->ops->ctrl_nbtg_bt_tx(rtwdev, dm->wl_pre_agc, RTW89_PHY_0); in _set_wl_preagc_ctrl()
4180 struct rtw89_btc_dm *dm = &btc->dm; in _set_wl_tx_limit() local
4208 if (btc->dm.freerun || btc->ctrl.igno_bt || b->profile_cnt.now == 0 || in _set_wl_tx_limit()
4227 if (dm->wl_tx_limit.enable == enable && in _set_wl_tx_limit()
4228 dm->wl_tx_limit.tx_time == tx_time && in _set_wl_tx_limit()
4229 dm->wl_tx_limit.tx_retry == tx_retry) in _set_wl_tx_limit()
4232 if (!dm->wl_tx_limit.enable && enable) in _set_wl_tx_limit()
4235 dm->wl_tx_limit.enable = enable; in _set_wl_tx_limit()
4236 dm->wl_tx_limit.tx_time = tx_time; in _set_wl_tx_limit()
4237 dm->wl_tx_limit.tx_retry = tx_retry; in _set_wl_tx_limit()
4270 if (mode != BTC_WLINK_NOLINK && btc->dm.wl_btg_rx) in _set_bt_rx_agc()
4308 btc->dm.tdma_instant_excute = 0; in _action_common()
4485 struct rtw89_btc_dm *dm = &btc->dm; in _action_wl_2g_scc_v1() local
4496 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v1()
4497 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_P2P_CLIENT; in _action_wl_2g_scc_v1()
4498 dm->wl_scc.ebt_null = 0; /* no ext-slot-control */ in _action_wl_2g_scc_v1()
4502 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v1()
4503 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v1()
4504 dm->wl_scc.ebt_null = 0; /* no ext-slot-control */ in _action_wl_2g_scc_v1()
4510 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v1()
4511 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_NONE; in _action_wl_2g_scc_v1()
4515 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v1()
4518 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v1()
4522 dm->wl_scc.ebt_null = 1; /* tx null at EBT */ in _action_wl_2g_scc_v1()
4526 dm->wl_scc.ebt_null = 1; /* tx null at EBT */ in _action_wl_2g_scc_v1()
4529 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v1()
4547 struct rtw89_btc_dm *dm = &btc->dm; in _action_wl_2g_scc_v2() local
4558 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v2()
4559 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_P2P_CLIENT; in _action_wl_2g_scc_v2()
4560 dm->wl_scc.ebt_null = 0; /* no ext-slot-control */ in _action_wl_2g_scc_v2()
4564 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v2()
4565 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v2()
4566 dm->wl_scc.ebt_null = 0; /* no ext-slot-control */ in _action_wl_2g_scc_v2()
4572 dm->wl_scc.null_role1 = RTW89_WIFI_ROLE_STATION; in _action_wl_2g_scc_v2()
4573 dm->wl_scc.null_role2 = RTW89_WIFI_ROLE_NONE; in _action_wl_2g_scc_v2()
4577 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v2()
4580 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v2()
4584 dm->wl_scc.ebt_null = 1; /* tx null at EBT */ in _action_wl_2g_scc_v2()
4588 dm->wl_scc.ebt_null = 1; /* tx null at EBT */ in _action_wl_2g_scc_v2()
4591 dm->wl_scc.ebt_null = 0; in _action_wl_2g_scc_v2()
5201 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_act1_work() local
5207 dm->cnt_notify[BTC_NCNT_TIMER]++; in rtw89_coex_act1_work()
5222 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_bt_devinfo_work() local
5227 dm->cnt_notify[BTC_NCNT_TIMER]++; in rtw89_coex_bt_devinfo_work()
5238 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_coex_rfk_chk_work() local
5244 dm->cnt_notify[BTC_NCNT_TIMER]++; in rtw89_coex_rfk_chk_work()
5249 dm->error.map.wl_rfk_timeout = true; in rtw89_coex_rfk_chk_work()
5347 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in _run_coex() local
5358 dm->run_reason = reason; in _run_coex()
5374 __func__, dm->wl_only, dm->bt_only); in _run_coex()
5388 "[BTC], %s(): return for Stop Coex DM!!\n", in _run_coex()
5418 dm->freerun = false; in _run_coex()
5419 dm->cnt_dm[BTC_DCNT_RUN]++; in _run_coex()
5420 dm->fddt_train = BTC_FDDT_DISABLE; in _run_coex()
5430 if (dm->wl_only) { in _run_coex()
5436 if (wl->status.map.rf_off || wl->status.map.lps || dm->bt_only) { in _run_coex()
5536 btc->dm.cnt_notify[BTC_NCNT_POWER_ON]++; in rtw89_btc_ntfy_poweron()
5545 btc->dm.cnt_notify[BTC_NCNT_POWER_OFF]++; in rtw89_btc_ntfy_poweroff()
5563 struct rtw89_btc_dm *dm = &btc->dm; in _set_init_info() local
5566 dm->init_info.wl_only = (u8)dm->wl_only; in _set_init_info()
5567 dm->init_info.bt_only = (u8)dm->bt_only; in _set_init_info()
5568 dm->init_info.wl_init_ok = (u8)wl->status.map.init_ok; in _set_init_info()
5569 dm->init_info.dbcc_en = rtwdev->dbcc_en; in _set_init_info()
5570 dm->init_info.cx_other = btc->cx.other.type; in _set_init_info()
5571 dm->init_info.wl_guard_ch = chip->afh_guard_ch; in _set_init_info()
5572 dm->init_info.module = btc->mdinfo; in _set_init_info()
5578 struct rtw89_btc_dm *dm = &rtwdev->btc.dm; in rtw89_btc_ntfy_init() local
5583 btc->dm.run_reason = BTC_RSN_NONE; in rtw89_btc_ntfy_init()
5584 btc->dm.run_action = BTC_ACT_NONE; in rtw89_btc_ntfy_init()
5591 dm->cnt_notify[BTC_NCNT_INIT_COEX]++; in rtw89_btc_ntfy_init()
5592 dm->wl_only = mode == BTC_MODE_WL ? 1 : 0; in rtw89_btc_ntfy_init()
5593 dm->bt_only = mode == BTC_MODE_BT ? 1 : 0; in rtw89_btc_ntfy_init()
5603 dm->error.map.init = true; in rtw89_btc_ntfy_init()
5614 dm->error.map.pta_owner = true; in rtw89_btc_ntfy_init()
5619 rtw89_btc_fw_set_slots(rtwdev, CXST_MAX, dm->slot); in rtw89_btc_ntfy_init()
5639 btc->dm.cnt_notify[BTC_NCNT_SCAN_START]++; in rtw89_btc_ntfy_scan_start()
5661 btc->dm.cnt_notify[BTC_NCNT_SCAN_FINISH]++; in rtw89_btc_ntfy_scan_finish()
5687 btc->dm.cnt_notify[BTC_NCNT_SWITCH_BAND]++; in rtw89_btc_ntfy_switch_band()
5761 btc->dm.cnt_notify[BTC_NCNT_SPECIAL_PACKET]++; in rtw89_btc_ntfy_specific_packet()
5897 btc->dm.trx_info.bt_profile = u32_get_bits(btinfo.val, BT_PROFILE_PROTOCOL_MASK); in _update_bt_info()
5915 btc->dm.trx_info.bt_rssi = bt->rssi_level; in _update_bt_info()
6050 btc->dm.cnt_notify[BTC_NCNT_ROLE_INFO]++; in rtw89_btc_ntfy_role_info()
6064 btc->dm.leak_ap = 0; in rtw89_btc_ntfy_role_info()
6086 btc->dm.cnt_notify[BTC_NCNT_RADIO_STATE]++; in rtw89_btc_ntfy_radio_state()
6131 btc->dm.cnt_dm[BTC_DCNT_BTCNT_HANG] = 0; in rtw89_btc_ntfy_radio_state()
6132 btc->dm.tdma_instant_excute = 1; in rtw89_btc_ntfy_radio_state()
6165 btc->dm.cnt_notify[BTC_NCNT_WL_RFK]++; in _ntfy_wl_rfk()
6202 __func__, btc->dm.cnt_notify[BTC_NCNT_WL_RFK], result); in _ntfy_wl_rfk()
6258 struct rtw89_btc_dm *dm = &btc->dm; in rtw89_btc_ntfy_wl_sta_iter() local
6347 dm->trx_info.tx_rate = link_info_t->tx_rate; in rtw89_btc_ntfy_wl_sta_iter()
6348 dm->trx_info.rx_rate = link_info_t->rx_rate; in rtw89_btc_ntfy_wl_sta_iter()
6364 dm->trx_info.tx_lvl = stats->tx_tfc_lv; in rtw89_btc_ntfy_wl_sta_iter()
6365 dm->trx_info.rx_lvl = stats->rx_tfc_lv; in rtw89_btc_ntfy_wl_sta_iter()
6366 dm->trx_info.tx_rate = rtwsta->ra_report.hw_rate; in rtw89_btc_ntfy_wl_sta_iter()
6367 dm->trx_info.rx_rate = rtwsta->rx_hw_rate; in rtw89_btc_ntfy_wl_sta_iter()
6370 dm->trx_info.tx_tp = link_info_t->tx_throughput; in rtw89_btc_ntfy_wl_sta_iter()
6371 dm->trx_info.rx_tp = link_info_t->rx_throughput; in rtw89_btc_ntfy_wl_sta_iter()
6374 if ((dm->wl_btg_rx_rb != dm->wl_btg_rx && in rtw89_btc_ntfy_wl_sta_iter()
6375 dm->wl_btg_rx_rb != BTC_BTGCTRL_BB_GNT_NOTFOUND) || in rtw89_btc_ntfy_wl_sta_iter()
6376 (dm->wl_pre_agc_rb != dm->wl_pre_agc && in rtw89_btc_ntfy_wl_sta_iter()
6377 dm->wl_pre_agc_rb != BTC_PREAGC_NOTFOUND)) in rtw89_btc_ntfy_wl_sta_iter()
6392 struct rtw89_btc_dm *dm = &btc->dm; in rtw89_btc_ntfy_wl_sta() local
6402 btc->dm.cnt_notify[BTC_NCNT_WL_STA]++; in rtw89_btc_ntfy_wl_sta()
6411 if (dm->trx_info.wl_rssi != wl->rssi_level) in rtw89_btc_ntfy_wl_sta()
6412 dm->trx_info.wl_rssi = wl->rssi_level; in rtw89_btc_ntfy_wl_sta()
6425 } else if (btc->dm.cnt_notify[BTC_NCNT_WL_STA] >= in rtw89_btc_ntfy_wl_sta()
6426 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] + BTC_NHM_CHK_INTVL) { in rtw89_btc_ntfy_wl_sta()
6427 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] = in rtw89_btc_ntfy_wl_sta()
6428 btc->dm.cnt_notify[BTC_NCNT_WL_STA]; in rtw89_btc_ntfy_wl_sta()
6429 } else if (btc->dm.cnt_notify[BTC_NCNT_WL_STA] < in rtw89_btc_ntfy_wl_sta()
6430 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST]) { in rtw89_btc_ntfy_wl_sta()
6431 btc->dm.cnt_dm[BTC_DCNT_WL_STA_LAST] = in rtw89_btc_ntfy_wl_sta()
6432 btc->dm.cnt_notify[BTC_NCNT_WL_STA]; in rtw89_btc_ntfy_wl_sta()
6483 btc->dm.cnt_dm[BTC_DCNT_CX_RUNINFO]++; in rtw89_btc_c2h_handle()
6495 struct rtw89_btc_dm *dm = &btc->dm; in _show_cx_info() local
6500 if (!(dm->coex_info_map & BTC_COEX_INFO_CX)) in _show_cx_info()
6503 dm->cnt_notify[BTC_NCNT_SHOW_COEX_INFO]++; in _show_cx_info()
6629 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_WL)) in _show_wl_info()
6730 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_BT)) in _show_bt_info()
6765 " %-15s : rssi:%ddBm(lvl:%d), tx_rate:%dM, %s%s%s", in _show_bt_info()
7112 struct rtw89_btc_dm *dm = &btc->dm; in _show_dm_step() local
7116 len = dm->dm_step.step_ov ? RTW89_BTC_DM_MAXSTEP : dm->dm_step.step_pos; in _show_dm_step()
7117 start_idx = dm->dm_step.step_ov ? dm->dm_step.step_pos : 0; in _show_dm_step()
7119 seq_print_segment(m, "[dm_steps]", dm->dm_step.step, len, 6, start_idx, in _show_dm_step()
7120 ARRAY_SIZE(dm->dm_step.step)); in _show_dm_step()
7127 struct rtw89_btc_dm *dm = &btc->dm; in _show_dm_info() local
7131 if (!(dm->coex_info_map & BTC_COEX_INFO_DM)) in _show_dm_info()
7141 steps_to_str(dm->run_reason), in _show_dm_info()
7142 steps_to_str(dm->run_action | BTC_ACT_EXT_BIT), in _show_dm_info()
7143 id_to_ant(FIELD_GET(GENMASK(7, 0), dm->set_ant_path)), in _show_dm_info()
7145 dm->cnt_dm[BTC_DCNT_RUN]); in _show_dm_info()
7150 "[dm_flag]", dm->wl_only, dm->bt_only, btc->ctrl.igno_bt, in _show_dm_info()
7151 dm->freerun, btc->lps, dm->wl_mimo_ps); in _show_dm_info()
7153 seq_printf(m, "leak_ap:%d, fw_offload:%s%s\n", dm->leak_ap, in _show_dm_info()
7155 (dm->wl_fw_cx_offload == BTC_CX_FW_OFFLOAD ? in _show_dm_info()
7158 if (dm->rf_trx_para.wl_tx_power == 0xff) in _show_dm_info()
7161 "[trx_ctrl]", wl->rssi_level, dm->trx_para_level); in _show_dm_info()
7166 "[trx_ctrl]", wl->rssi_level, dm->trx_para_level, in _show_dm_info()
7167 dm->rf_trx_para.wl_tx_power); in _show_dm_info()
7171 dm->rf_trx_para.wl_rx_gain, dm->rf_trx_para.bt_tx_power, in _show_dm_info()
7172 dm->rf_trx_para.bt_rx_gain, in _show_dm_info()
7173 (bt->hi_lna_rx ? "Hi" : "Ori"), dm->wl_btg_rx); in _show_dm_info()
7177 "[dm_ctrl]", dm->wl_tx_limit.enable, dm->wl_tx_limit.tx_time, in _show_dm_info()
7178 dm->wl_tx_limit.tx_retry, btc->bt_req_len, bt->scan_rx_low_pri); in _show_dm_info()
7281 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_slots() local
7286 s = &dm->slot_now[i]; in _show_fbtc_slots()
7308 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta_v2() local
7337 if (dm->tdma_now.rxflctrl) { in _show_fbtc_cysta_v2()
7410 r.val = dm->tdma_now.rxflctrl; in _show_fbtc_cysta_v2()
7437 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta_v3() local
7466 if (dm->tdma_now.rxflctrl) in _show_fbtc_cysta_v3()
7524 seq_printf(m, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v3()
7536 seq_printf(m, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v3()
7567 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta_v4() local
7596 if (dm->tdma_now.rxflctrl) in _show_fbtc_cysta_v4()
7656 seq_printf(m, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v4()
7668 seq_printf(m, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v4()
7699 struct rtw89_btc_dm *dm = &btc->dm; in _show_fbtc_cysta_v5() local
7728 if (dm->tdma_now.rxflctrl) in _show_fbtc_cysta_v5()
7787 seq_printf(m, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v5()
7799 seq_printf(m, "(%d/%d/%dM/%d/%d/%d)", in _show_fbtc_cysta_v5()
7834 if (!btc->dm.tdma_now.rxflctrl) in _show_fbtc_nullsta()
8016 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_DM)) in _show_fw_dm_msg()
8099 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_MREG)) in _show_mreg_v1()
8110 btc->dm.pta_owner = rtw89_mac_get_ctrl_path(rtwdev); in _show_mreg_v1()
8118 btc->dm.pta_owner == BTC_CTRL_BY_WL ? "WL" : "BT", in _show_mreg_v1()
8201 if (!(btc->dm.coex_info_map & BTC_COEX_INFO_MREG)) in _show_mreg_v2()
8212 btc->dm.pta_owner = rtw89_mac_get_ctrl_path(rtwdev); in _show_mreg_v2()
8220 btc->dm.pta_owner == BTC_CTRL_BY_WL ? "WL" : "BT", in _show_mreg_v2()
8294 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary_v1() local
8297 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary_v1()
8300 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v1()
8318 prptctrl->rpt_enable, dm->error.val); in _show_summary_v1()
8320 if (dm->error.map.wl_fw_hang) in _show_summary_v1()
8354 dm->error.map.wl_rfk_timeout = bt->rfk_info.map.timeout; in _show_summary_v1()
8366 cnt_sum += dm->cnt_notify[i]; in _show_summary_v1()
8398 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary_v4() local
8401 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary_v4()
8404 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v4()
8426 dm->error.val); in _show_summary_v4()
8428 if (dm->error.map.wl_fw_hang) in _show_summary_v4()
8466 dm->error.map.wl_rfk_timeout = bt->rfk_info.map.timeout; in _show_summary_v4()
8478 cnt_sum += dm->cnt_notify[i]; in _show_summary_v4()
8510 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary_v5() local
8512 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary_v5()
8515 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v5()
8538 if (dm->error.map.wl_fw_hang) in _show_summary_v5()
8590 cnt_sum += dm->cnt_notify[i]; in _show_summary_v5()
8625 struct rtw89_btc_dm *dm = &btc->dm; in _show_summary_v105() local
8627 u32 cnt_sum = 0, *cnt = btc->dm.cnt_notify; in _show_summary_v105()
8630 if (!(dm->coex_info_map & BTC_COEX_INFO_SUMMARY)) in _show_summary_v105()
8653 if (dm->error.map.wl_fw_hang) in _show_summary_v105()
8705 cnt_sum += dm->cnt_notify[i]; in _show_summary_v105()