Lines Matching defs:bf

150 static	void ath_edma_rxbuf_free(struct ath_softc *sc, struct ath_buf *bf);
191 struct ath_buf *bf;
198 bf = re->m_fifo[i];
204 (uintmax_t)bf->bf_daddr);
205 ath_hal_putrxbuf(sc->sc_ah, bf->bf_daddr, qtype);
338 struct ath_buf *bf;
352 bf = re->m_fifo[re->m_fifo_head];
354 if (bf == NULL) {
355 device_printf(sc->sc_dev, "%s: Q%d: NULL bf?\n",
360 m = bf->bf_m;
361 ds = bf->bf_desc;
367 bus_dmamap_sync(sc->sc_dmat, bf->bf_dmamap,
369 rs = &bf->bf_status.ds_rxstat;
370 bf->bf_rxstatus = ath_hal_rxprocdesc(ah, ds, bf->bf_daddr,
374 ath_printrxbuf(sc, bf, 0, bf->bf_rxstatus == HAL_OK);
381 if (bf->bf_rxstatus == HAL_EINPROGRESS)
394 bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap);
401 TAILQ_INSERT_TAIL(&sc->sc_rx_rxlist[qtype], bf, bf_list);
452 struct ath_buf *bf, *next;
457 TAILQ_FOREACH_SAFE(bf,
460 ath_edma_rxbuf_free(sc, bf);
462 TAILQ_FOREACH_SAFE(bf,
465 ath_edma_rxbuf_free(sc, bf);
475 struct ath_buf *bf, *next;
497 TAILQ_FOREACH_SAFE(bf, &rxlist, bf_list, next) {
501 m_adj(bf->bf_m, sc->sc_rx_statuslen);
505 rs = &bf->bf_status.ds_rxstat;
506 m = bf->bf_m;
507 bf->bf_m = NULL;
508 if (ath_rx_pkt(sc, rs, bf->bf_rxstatus, tsf, nf, qtype, bf, m))
522 TAILQ_FOREACH_SAFE(bf, &rxlist, bf_list, next) {
524 ath_edma_rxbuf_free(sc, bf);
585 ath_edma_rxbuf_init(struct ath_softc *sc, struct ath_buf *bf)
614 bf->bf_desc = mtod(m, struct ath_desc *);
615 bf->bf_lastds = bf->bf_desc; /* XXX only really for TX? */
616 bf->bf_m = m;
625 memset(bf->bf_desc, '\0', sc->sc_rx_statuslen);
631 bf->bf_dmamap, m, bf->bf_segs, &bf->bf_nseg, BUS_DMA_NOWAIT);
644 bf->bf_daddr = bf->bf_segs[0].ds_addr;
653 bus_dmamap_sync(sc->sc_dmat, bf->bf_dmamap,
666 struct ath_buf *bf;
672 bf = TAILQ_FIRST(&sc->sc_rxbuf);
674 if (bf == NULL) {
681 TAILQ_REMOVE(&sc->sc_rxbuf, bf, bf_list);
684 error = ath_edma_rxbuf_init(sc, bf);
687 "%s: bf=%p, rxbuf alloc failed! error=%d\n",
689 bf,
691 TAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list);
695 return (bf);
699 ath_edma_rxbuf_free(struct ath_softc *sc, struct ath_buf *bf)
708 if (bf->bf_m) {
709 bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap);
710 m_freem(bf->bf_m);
711 bf->bf_m = NULL;
715 TAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list);
728 struct ath_buf *bf;
753 bf = ath_edma_rxbuf_alloc(sc);
755 if (bf == NULL) {
765 re->m_fifo[re->m_fifo_tail] = bf;
772 bf->bf_desc,
773 (uintmax_t) bf->bf_daddr);
774 ath_hal_putrxbuf(sc->sc_ah, bf->bf_daddr, qtype);
802 struct ath_buf *bf = re->m_fifo[i];
805 ath_printrxbuf(sc, bf, 0, HAL_OK);