Lines Matching refs:mci
127 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_send_coex_version_query() local
130 if (mci->bt_version_known || in ar9003_mci_send_coex_version_query()
131 (mci->bt_state == MCI_BT_SLEEP)) in ar9003_mci_send_coex_version_query()
142 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_send_coex_version_response() local
148 mci->wlan_ver_major; in ar9003_mci_send_coex_version_response()
150 mci->wlan_ver_minor; in ar9003_mci_send_coex_version_response()
157 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_send_coex_wlan_channels() local
158 u32 *payload = &mci->wlan_channels[0]; in ar9003_mci_send_coex_wlan_channels()
160 if (!mci->wlan_channels_update || in ar9003_mci_send_coex_wlan_channels()
161 (mci->bt_state == MCI_BT_SLEEP)) in ar9003_mci_send_coex_wlan_channels()
173 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_send_coex_bt_status_query() local
177 if (mci->bt_state == MCI_BT_SLEEP) in ar9003_mci_send_coex_bt_status_query()
194 mci->need_flush_btinfo = true; in ar9003_mci_send_coex_bt_status_query()
198 mci->query_bt = false; in ar9003_mci_send_coex_bt_status_query()
204 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_send_coex_halt_bt_gpm() local
211 mci->query_bt = true; in ar9003_mci_send_coex_halt_bt_gpm()
213 mci->unhalt_bt_gpm = true; in ar9003_mci_send_coex_halt_bt_gpm()
214 mci->need_flush_btinfo = true; in ar9003_mci_send_coex_halt_bt_gpm()
227 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_prep_interface() local
231 mci->bt_state = MCI_BT_SLEEP; in ar9003_mci_prep_interface()
247 mci->bt_state = MCI_BT_AWAKE; in ar9003_mci_prep_interface()
288 if (mci->is_2g && MCI_ANT_ARCH_PA_LNA_SHARED(mci)) { in ar9003_mci_prep_interface()
293 if (mci->is_2g && !mci->update_2g5g && MCI_ANT_ARCH_PA_LNA_SHARED(mci)) { in ar9003_mci_prep_interface()
307 if ((mci->bt_state == MCI_BT_AWAKE) && in ar9003_mci_prep_interface()
323 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_set_full_sleep() local
326 (mci->bt_state != MCI_BT_SLEEP) && in ar9003_mci_set_full_sleep()
327 !mci->halted_bt_gpm) { in ar9003_mci_set_full_sleep()
331 mci->ready = false; in ar9003_mci_set_full_sleep()
358 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_get_interrupt() local
360 *raw_intr = mci->raw_intr; in ar9003_mci_get_interrupt()
361 *rx_msg_intr = mci->rx_msg_intr; in ar9003_mci_get_interrupt()
364 mci->raw_intr = 0; in ar9003_mci_get_interrupt()
365 mci->rx_msg_intr = 0; in ar9003_mci_get_interrupt()
372 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_get_isr() local
382 mci->rx_msg_intr |= rx_msg_intr; in ar9003_mci_get_isr()
383 mci->raw_intr |= raw_intr; in ar9003_mci_get_isr()
387 mci->cont_status = REG_READ(ah, AR_MCI_CONT_STATUS); in ar9003_mci_get_isr()
396 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_2g5g_changed() local
398 if (!mci->update_2g5g && in ar9003_mci_2g5g_changed()
399 (mci->is_2g != is_2g)) in ar9003_mci_2g5g_changed()
400 mci->update_2g5g = true; in ar9003_mci_2g5g_changed()
402 mci->is_2g = is_2g; in ar9003_mci_2g5g_changed()
407 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_is_gpm_valid() local
416 payload = (u32 *)(mci->gpm_buf + offset); in ar9003_mci_is_gpm_valid()
427 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_observation_set_up() local
429 if (mci->config & ATH_MCI_CONFIG_MCI_OBS_MCI) { in ar9003_mci_observation_set_up()
434 } else if (mci->config & ATH_MCI_CONFIG_MCI_OBS_TXRX) { in ar9003_mci_observation_set_up()
440 } else if (mci->config & ATH_MCI_CONFIG_MCI_OBS_BT) { in ar9003_mci_observation_set_up()
485 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_sync_bt_state() local
490 if (mci->bt_state != cur_bt_state) in ar9003_mci_sync_bt_state()
491 mci->bt_state = cur_bt_state; in ar9003_mci_sync_bt_state()
493 if (mci->bt_state != MCI_BT_SLEEP) { in ar9003_mci_sync_bt_state()
498 if (mci->unhalt_bt_gpm == true) in ar9003_mci_sync_bt_state()
505 struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; in ar9003_mci_check_bt()
527 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_process_gpm_extra() local
540 mci->bt_ver_major = in ar9003_mci_process_gpm_extra()
542 mci->bt_ver_minor = in ar9003_mci_process_gpm_extra()
544 mci->bt_version_known = true; in ar9003_mci_process_gpm_extra()
546 mci->bt_ver_major, mci->bt_ver_minor); in ar9003_mci_process_gpm_extra()
552 mci->wlan_channels_update = true; in ar9003_mci_process_gpm_extra()
556 mci->query_bt = true; in ar9003_mci_process_gpm_extra()
560 mci->query_bt = true; in ar9003_mci_process_gpm_extra()
574 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_wait_for_gpm() local
602 p_gpm = (u32 *) (mci->gpm_buf + offset); in ar9003_mci_wait_for_gpm()
665 p_gpm = (u32 *) (mci->gpm_buf + offset); in ar9003_mci_wait_for_gpm()
682 struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; in ar9003_mci_start_reset()
722 struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; in ar9003_mci_end_reset()
775 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_mute_bt() local
793 if (MCI_ANT_ARCH_PA_LNA_SHARED(mci)) { in ar9003_mci_mute_bt()
803 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_osla_setup() local
818 if (!(mci->config & ATH_MCI_CONFIG_DISABLE_AGGR_THRESH)) { in ar9003_mci_osla_setup()
819 thresh = MS(mci->config, ATH_MCI_CONFIG_AGGR_THRESH); in ar9003_mci_osla_setup()
834 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_stat_setup() local
839 if (mci->config & ATH_MCI_CONFIG_MCI_STAT_DBG) { in ar9003_mci_stat_setup()
910 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_reset() local
922 REG_WRITE(ah, AR_MCI_GPM_0, mci->gpm_addr); in ar9003_mci_reset()
923 REG_WRITE(ah, AR_MCI_GPM_1, mci->gpm_len); in ar9003_mci_reset()
924 REG_WRITE(ah, AR_MCI_SCHD_TABLE_0, mci->sched_addr); in ar9003_mci_reset()
931 u8 ant = MS(mci->config, ATH_MCI_CONFIG_ANT_ARCH); in ar9003_mci_reset()
941 if (is_2g && !(mci->config & ATH_MCI_CONFIG_DISABLE_OSLA)) in ar9003_mci_reset()
958 if (mci->config & ATH_MCI_CONFIG_CONCUR_TX) { in ar9003_mci_reset()
969 regval = MS(mci->config, ATH_MCI_CONFIG_CLK_DIV); in ar9003_mci_reset()
1004 if (MCI_ANT_ARCH_PA_LNA_SHARED(mci)) in ar9003_mci_reset()
1013 mci->ready = true; in ar9003_mci_reset()
1028 struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; in ar9003_mci_stop_bt()
1044 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_send_2g5g_status() local
1047 if (!mci->update_2g5g || (mci->bt_state == MCI_BT_SLEEP)) in ar9003_mci_send_2g5g_status()
1050 if (mci->is_2g) { in ar9003_mci_send_2g5g_status()
1073 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_queue_unsent_gpm() local
1092 mci->update_2g5g = queue; in ar9003_mci_queue_unsent_gpm()
1096 mci->wlan_channels_update = queue; in ar9003_mci_queue_unsent_gpm()
1101 mci->unhalt_bt_gpm = queue; in ar9003_mci_queue_unsent_gpm()
1104 mci->halted_bt_gpm = false; in ar9003_mci_queue_unsent_gpm()
1110 mci->halted_bt_gpm = !queue; in ar9003_mci_queue_unsent_gpm()
1121 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_2g5g_switch() local
1123 if (!mci->update_2g5g && !force) in ar9003_mci_2g5g_switch()
1126 if (mci->is_2g) { in ar9003_mci_2g5g_switch()
1136 if (!(mci->config & ATH_MCI_CONFIG_DISABLE_OSLA)) in ar9003_mci_2g5g_switch()
1160 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_send_message() local
1175 } else if (check_bt && (mci->bt_state == MCI_BT_SLEEP)) { in ar9003_mci_send_message()
1223 struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; in ar9003_mci_init_cal_req()
1245 struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; in ar9003_mci_init_cal_done()
1260 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_setup() local
1262 mci->gpm_addr = gpm_addr; in ar9003_mci_setup()
1263 mci->gpm_buf = gpm_buf; in ar9003_mci_setup()
1264 mci->gpm_len = len; in ar9003_mci_setup()
1265 mci->sched_addr = sched_addr; in ar9003_mci_setup()
1281 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_state() local
1287 if (mci->ready) { in ar9003_mci_state()
1298 if (value < mci->gpm_len) in ar9003_mci_state()
1299 mci->gpm_idx = value; in ar9003_mci_state()
1301 mci->gpm_idx = 0; in ar9003_mci_state()
1315 mci->bt_state = MCI_BT_AWAKE; in ar9003_mci_state()
1319 if (mci->unhalt_bt_gpm) in ar9003_mci_state()
1326 mci->update_2g5g = true; in ar9003_mci_state()
1328 if (mci->config & ATH_MCI_CONFIG_MCI_OBS_MASK) { in ar9003_mci_state()
1349 if ((tsf - mci->last_recovery) <= MCI_RECOVERY_DUR_TSF) { in ar9003_mci_state()
1355 mci->last_recovery = tsf; in ar9003_mci_state()
1357 mci->query_bt = true; in ar9003_mci_state()
1358 mci->need_flush_btinfo = true; in ar9003_mci_state()
1363 value = !(mci->config & ATH_MCI_CONFIG_DISABLE_FTP_STOMP); in ar9003_mci_state()
1366 value = (!mci->unhalt_bt_gpm && mci->need_flush_btinfo) ? 1 : 0; in ar9003_mci_state()
1367 mci->need_flush_btinfo = false; in ar9003_mci_state()
1396 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_bt_gain_ctrl() local
1404 mci->is_2g = false; in ar9003_mci_bt_gain_ctrl()
1405 mci->update_2g5g = true; in ar9003_mci_bt_gain_ctrl()
1409 mci->update_2g5g = true; in ar9003_mci_bt_gain_ctrl()
1449 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_check_gpm_offset() local
1456 if (mci->gpm_idx == offset) in ar9003_mci_check_gpm_offset()
1459 mci->gpm_idx, offset); in ar9003_mci_check_gpm_offset()
1460 mci->query_bt = true; in ar9003_mci_check_gpm_offset()
1461 mci->need_flush_btinfo = true; in ar9003_mci_check_gpm_offset()
1462 mci->gpm_idx = 0; in ar9003_mci_check_gpm_offset()
1467 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_get_next_gpm_offset() local
1486 offset = mci->gpm_len - 1; in ar9003_mci_get_next_gpm_offset()
1487 else if (offset >= mci->gpm_len) { in ar9003_mci_get_next_gpm_offset()
1494 if ((offset == 0xFFFF) || (gpm_ptr == mci->gpm_idx)) { in ar9003_mci_get_next_gpm_offset()
1504 if (offset != mci->gpm_idx) in ar9003_mci_get_next_gpm_offset()
1509 temp_index = mci->gpm_idx; in ar9003_mci_get_next_gpm_offset()
1511 if (temp_index >= mci->gpm_len) in ar9003_mci_get_next_gpm_offset()
1514 mci->gpm_idx++; in ar9003_mci_get_next_gpm_offset()
1516 if (mci->gpm_idx >= mci->gpm_len) in ar9003_mci_get_next_gpm_offset()
1517 mci->gpm_idx = 0; in ar9003_mci_get_next_gpm_offset()
1542 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_set_bt_version() local
1544 mci->bt_ver_major = major; in ar9003_mci_set_bt_version()
1545 mci->bt_ver_minor = minor; in ar9003_mci_set_bt_version()
1546 mci->bt_version_known = true; in ar9003_mci_set_bt_version()
1548 mci->bt_ver_major, mci->bt_ver_minor); in ar9003_mci_set_bt_version()
1554 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; in ar9003_mci_send_wlan_channels() local
1556 mci->wlan_channels_update = true; in ar9003_mci_send_wlan_channels()
1563 if (!ah->btcoex_hw.mci.concur_tx) in ar9003_mci_get_max_txpower()