Lines Matching defs:sc

86 static void ath_btcoex_mci_update_wlan_channels(struct ath_softc *sc);
89 ath_btcoex_mci_attach(struct ath_softc *sc)
94 error = ath_descdma_alloc_desc(sc, &sc->sc_btcoex.buf, NULL,
97 device_printf(sc->sc_dev, "%s: failed to alloc MCI RAM\n",
103 sc->sc_btcoex_mci = 1;
106 sc->sc_btcoex.wlan_channels[0] = 0x00000000;
107 sc->sc_btcoex.wlan_channels[1] = 0xffffffff;
108 sc->sc_btcoex.wlan_channels[2] = 0xffffffff;
109 sc->sc_btcoex.wlan_channels[3] = 0x7fffffff;
124 sc->sc_btcoex.gpm_buf = (void *) sc->sc_btcoex.buf.dd_desc;
125 sc->sc_btcoex.sched_buf = sc->sc_btcoex.gpm_buf +
128 sc->sc_btcoex.gpm_paddr = sc->sc_btcoex.buf.dd_desc_paddr;
129 sc->sc_btcoex.sched_paddr = sc->sc_btcoex.gpm_paddr +
133 memset(sc->sc_btcoex.gpm_buf, 0xfe, buflen);
146 ath_hal_btcoex_mci_setup(sc->sc_ah,
147 sc->sc_btcoex.gpm_paddr,
148 sc->sc_btcoex.gpm_buf,
150 sc->sc_btcoex.sched_paddr);
159 ath_btcoex_mci_detach(struct ath_softc *sc)
162 ath_hal_btcoex_mci_detach(sc->sc_ah);
163 ath_descdma_cleanup(sc, &sc->sc_btcoex.buf, NULL);
175 ath_btcoex_mci_enable(struct ath_softc *sc,
190 ath_hal_btcoex_set_weights(sc->sc_ah, HAL_BT_COEX_STOMP_ALL);
196 ath_btcoex_mci_update_wlan_channels(sc);
206 ath_btcoex_mci_event(struct ath_softc *sc, ATH_BT_COEX_EVENT nevent,
210 if (! sc->sc_btcoex_mci)
218 if (ath_hal_btcoex_mci_state(sc->sc_ah,
222 if (ath_hal_btcoex_mci_state(sc->sc_ah,
224 DPRINTF(sc, ATH_DEBUG_BTCOEX,
232 ath_hal_btcoex_mci_state(sc->sc_ah,
234 ath_hal_btcoex_mci_state(sc->sc_ah,
239 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) BT_NOOP\n");
245 ath_btcoex_mci_send_gpm(struct ath_softc *sc, uint32_t *payload)
248 ath_hal_btcoex_mci_send_message(sc->sc_ah, MCI_GPM, 0, payload, 16,
256 ath_btcoex_mci_bt_cal_do(struct ath_softc *sc, int tx_timeout, int rx_timeout)
259 device_printf(sc->sc_dev, "%s: TODO!\n", __func__);
264 ath_btcoex_mci_cal_msg(struct ath_softc *sc, uint8_t opcode,
271 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) receive BT_CAL_REQ\n");
272 if (ath_hal_btcoex_mci_state(sc->sc_ah, HAL_MCI_STATE_BT,
274 ath_hal_btcoex_mci_state(sc->sc_ah,
276 ath_btcoex_mci_bt_cal_do(sc, 1000, 1000);
278 DPRINTF(sc, ATH_DEBUG_BTCOEX,
280 ath_hal_btcoex_mci_state(sc->sc_ah,
285 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) receive BT_CAL_DONE\n");
286 if (ath_hal_btcoex_mci_state(sc->sc_ah, HAL_MCI_STATE_BT,
288 DPRINTF(sc, ATH_DEBUG_BTCOEX,
291 DPRINTF(sc, ATH_DEBUG_BTCOEX,
296 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) receive BT_CAL_GRANT\n");
298 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) Send WLAN_CAL_DONE\n");
300 ath_btcoex_mci_send_gpm(sc, &payload[0]);
303 DPRINTF(sc, ATH_DEBUG_BTCOEX,
325 ath_btcoex_mci_update_wlan_channels(struct ath_softc *sc)
327 struct ieee80211com *ic = &sc->sc_ic;
357 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) WLAN use channel %d\n",
359 DPRINTF(sc, ATH_DEBUG_BTCOEX,
365 DPRINTF(sc, ATH_DEBUG_BTCOEX,
368 ath_hal_btcoex_mci_state(sc->sc_ah, HAL_MCI_STATE_SEND_WLAN_CHANNELS,
373 ath_btcoex_mci_coex_msg(struct ath_softc *sc, uint8_t opcode,
383 DPRINTF(sc, ATH_DEBUG_BTCOEX,
385 version = ath_hal_btcoex_mci_state(sc->sc_ah,
390 DPRINTF(sc, ATH_DEBUG_BTCOEX,
394 DPRINTF(sc, ATH_DEBUG_BTCOEX,
397 version = ath_hal_btcoex_mci_state(sc->sc_ah,
402 DPRINTF(sc, ATH_DEBUG_BTCOEX,
405 ath_hal_btcoex_mci_state(sc->sc_ah,
414 DPRINTF(sc, ATH_DEBUG_BTCOEX,
420 DPRINTF(sc, ATH_DEBUG_BTCOEX,
426 DPRINTF(sc, ATH_DEBUG_BTCOEX,
433 ath_btcoex_mci_intr(struct ath_softc *sc)
442 DPRINTF(sc, ATH_DEBUG_BTCOEX, "%s: called\n", __func__);
444 ath_hal_btcoex_mci_get_interrupt(sc->sc_ah, &mciInt, &mciIntRxMsg);
446 if (ath_hal_btcoex_mci_state(sc->sc_ah, HAL_MCI_STATE_ENABLE,
448 ath_hal_btcoex_mci_state(sc->sc_ah,
450 DPRINTF(sc, ATH_DEBUG_BTCOEX,
452 DPRINTF(sc, ATH_DEBUG_BTCOEX,
467 DPRINTF(sc, ATH_DEBUG_BTCOEX,
469 ath_hal_btcoex_mci_send_message(sc->sc_ah,
471 DPRINTF(sc, ATH_DEBUG_BTCOEX,
473 ath_hal_btcoex_mci_send_message(sc->sc_ah,
477 ath_hal_btcoex_mci_state(sc->sc_ah,
481 DPRINTF(sc, ATH_DEBUG_BTCOEX,
483 ath_hal_btcoex_mci_state(sc->sc_ah,
490 if (ath_hal_btcoex_mci_state(sc->sc_ah, HAL_MCI_STATE_BT,
492 if (ath_hal_btcoex_mci_state(sc->sc_ah,
494 DPRINTF(sc, ATH_DEBUG_BTCOEX,
497 DPRINTF(sc, ATH_DEBUG_BTCOEX,
499 ath_hal_btcoex_mci_state(sc->sc_ah,
503 DPRINTF(sc, ATH_DEBUG_BTCOEX,
510 if (ath_hal_btcoex_mci_state(sc->sc_ah, HAL_MCI_STATE_BT,
512 if (ath_hal_btcoex_mci_state(sc->sc_ah,
514 DPRINTF(sc, ATH_DEBUG_BTCOEX,
517 DPRINTF(sc, ATH_DEBUG_BTCOEX,
519 ath_hal_btcoex_mci_state(sc->sc_ah,
523 DPRINTF(sc, ATH_DEBUG_BTCOEX,
533 DPRINTF(sc, ATH_DEBUG_BTCOEX,
535 ath_hal_btcoex_mci_state(sc->sc_ah,
542 offset = ath_hal_btcoex_mci_state(sc->sc_ah,
553 pGpm = (void *) sc->sc_btcoex.gpm_buf;
554 offset = ath_hal_btcoex_mci_state(sc->sc_ah,
569 ath_btcoex_mci_cal_msg(sc, subtype,
574 ath_btcoex_mci_coex_msg(sc,
578 device_printf(sc->sc_dev,
582 DPRINTF(sc, ATH_DEBUG_BTCOEX,
604 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) LNA_CONTROL\n");
608 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) LNA_INFO\n");
611 value_dbm = ath_hal_btcoex_mci_state(sc->sc_ah,
615 if (ath_hal_btcoex_mci_state(sc->sc_ah,
617 DPRINTF(sc, ATH_DEBUG_BTCOEX,
619 ath_hal_btcoex_mci_state(sc->sc_ah,
623 DPRINTF(sc, ATH_DEBUG_BTCOEX,
625 ath_hal_btcoex_mci_state(sc->sc_ah,
632 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) CONT_NACK\n");
636 DPRINTF(sc, ATH_DEBUG_BTCOEX, "(MCI) CONT_RST\n");
646 ath_btcoex_mci_event(sc, ATH_COEX_EVENT_BT_NOOP, NULL);
652 DPRINTF(sc, ATH_DEBUG_BTCOEX,