HAL_RX_QUEUE_HP
case HAL_RX_QUEUE_HP:
HALASSERT(qtype == HAL_RX_QUEUE_HP);
HALASSERT(qtype == HAL_RX_QUEUE_HP);
HALASSERT(qtype == HAL_RX_QUEUE_HP);
HALASSERT(qtype == HAL_RX_QUEUE_HP);
HALASSERT(qtype == HAL_RX_QUEUE_HP);
HALASSERT(qtype == HAL_RX_QUEUE_HP);
TAILQ_INIT(&sc->sc_rx_rxlist[HAL_RX_QUEUE_HP]);
if (ath_rx_pkt(sc, rs, status, tsf, nf, HAL_RX_QUEUE_HP, bf, m))
if (sc->sc_rxedma[HAL_RX_QUEUE_HP].m_holdbf != NULL) {
sc->sc_rxedma[HAL_RX_QUEUE_HP].m_holdbf,
sc->sc_rxedma[HAL_RX_QUEUE_HP].m_holdbf);
sc->sc_rxedma[HAL_RX_QUEUE_HP].m_holdbf = bf;
ath_hal_putrxbuf(ah, bf->bf_daddr, HAL_RX_QUEUE_HP);
if (sc->sc_rxedma[HAL_RX_QUEUE_HP].m_rxpending != NULL) {
m_freem(sc->sc_rxedma[HAL_RX_QUEUE_HP].m_rxpending);
sc->sc_rxedma[HAL_RX_QUEUE_HP].m_rxpending = NULL;
bf = sc->sc_rxedma[HAL_RX_QUEUE_HP].m_holdbf;
sc->sc_rxedma[HAL_RX_QUEUE_HP].m_holdbf = NULL;
(caddr_t)(uintptr_t) ath_hal_getrxbuf(ah, HAL_RX_QUEUE_HP),
ath_hal_putrxbuf(ah, bf->bf_daddr, HAL_RX_QUEUE_HP);
if (sc->sc_rxedma[HAL_RX_QUEUE_HP].m_rxpending) {
m_freem(sc->sc_rxedma[HAL_RX_QUEUE_HP].m_rxpending);
sc->sc_rxedma[HAL_RX_QUEUE_HP].m_rxpending = NULL;
ath_edma_reinit_fifo(sc, HAL_RX_QUEUE_HP);
ath_edma_rxfifo_alloc(sc, HAL_RX_QUEUE_HP,
sc->sc_rxedma[HAL_RX_QUEUE_HP].m_fifolen);
ath_edma_recv_proc_queue(sc, HAL_RX_QUEUE_HP, dosched);
ath_edma_recv_proc_queue(sc, HAL_RX_QUEUE_HP, 0);
ath_edma_recv_proc_deferred_queue(sc, HAL_RX_QUEUE_HP, 0);
while (! TAILQ_EMPTY(&sc->sc_rx_rxlist[HAL_RX_QUEUE_HP])) {
bf = TAILQ_FIRST(&sc->sc_rx_rxlist[HAL_RX_QUEUE_HP]);
TAILQ_REMOVE(&sc->sc_rx_rxlist[HAL_RX_QUEUE_HP], bf, bf_list);
ath_edma_recv_proc_deferred_queue(sc, HAL_RX_QUEUE_HP, 1);
(void) ath_edma_setup_rxfifo(sc, HAL_RX_QUEUE_HP);
ath_edma_rxfifo_flush(sc, HAL_RX_QUEUE_HP);
ath_edma_rxfifo_free(sc, HAL_RX_QUEUE_HP);