Lines Matching defs:bf

248 ath_legacy_rxbuf_init(struct ath_softc *sc, struct ath_buf *bf)
257 m = bf->bf_m;
276 bf->bf_dmamap, m,
277 bf->bf_segs, &bf->bf_nseg,
287 KASSERT(bf->bf_nseg == 1,
288 ("multi-segment packet; nseg %u", bf->bf_nseg));
289 bf->bf_m = m;
291 bus_dmamap_sync(sc->sc_dmat, bf->bf_dmamap, BUS_DMASYNC_PREREAD);
314 ds = bf->bf_desc;
316 ds->ds_link = bf->bf_daddr; /* link to self */
319 ds->ds_data = bf->bf_segs[0].ds_addr;
326 *sc->sc_rxlink = bf->bf_daddr;
651 * The mbuf must already be synced, unmapped and removed from bf->bf_m
659 uint64_t tsf, int nf, HAL_RX_QUEUE qtype, struct ath_buf *bf,
843 ath_printrxbuf(sc, bf, 0, status == HAL_OK);
1076 struct ath_buf *bf;
1120 bf = TAILQ_FIRST(&sc->sc_rxbuf);
1121 if (sc->sc_rxslink && bf == NULL) { /* NB: shouldn't happen */
1124 } else if (bf == NULL) {
1132 m = bf->bf_m;
1140 TAILQ_REMOVE(&sc->sc_rxbuf, bf, bf_list);
1143 ds = bf->bf_desc;
1144 if (ds->ds_link == bf->bf_daddr) {
1161 rs = &bf->bf_status.ds_rxstat;
1163 bf->bf_daddr, PA2DESC(sc, ds->ds_link), rs);
1166 ath_printrxbuf(sc, bf, 0, status == HAL_OK);
1178 TAILQ_REMOVE(&sc->sc_rxbuf, bf, bf_list);
1184 bus_dmamap_sync(sc->sc_dmat, bf->bf_dmamap, BUS_DMASYNC_POSTREAD);
1185 bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap);
1186 bf->bf_m = NULL;
1187 if (ath_rx_pkt(sc, rs, status, tsf, nf, HAL_RX_QUEUE_HP, bf, m))
1208 sc->sc_rxedma[HAL_RX_QUEUE_HP].m_holdbf = bf;
1262 bf = TAILQ_FIRST(&sc->sc_rxbuf);
1263 ath_hal_putrxbuf(ah, bf->bf_daddr, HAL_RX_QUEUE_HP);
1352 struct ath_buf *bf;
1359 * XXX should just verify that bf->bf_m is NULL, as it must
1362 bf = sc->sc_rxedma[HAL_RX_QUEUE_HP].m_holdbf;
1363 if (bf != NULL) {
1364 if (bf->bf_m != NULL)
1365 m_freem(bf->bf_m);
1366 bf->bf_m = NULL;
1367 TAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list);
1368 (void) ath_rxbuf_init(sc, bf);
1372 bf = sc->sc_rxedma[HAL_RX_QUEUE_LP].m_holdbf;
1373 if (bf != NULL) {
1374 if (bf->bf_m != NULL)
1375 m_freem(bf->bf_m);
1376 bf->bf_m = NULL;
1377 TAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list);
1378 (void) ath_rxbuf_init(sc, bf);
1411 struct ath_buf *bf;
1420 TAILQ_FOREACH(bf, &sc->sc_rxbuf, bf_list) {
1421 struct ath_desc *ds = bf->bf_desc;
1422 struct ath_rx_status *rs = &bf->bf_status.ds_rxstat;
1424 bf->bf_daddr, PA2DESC(sc, ds->ds_link), rs);
1426 ath_printrxbuf(sc, bf, ix, status == HAL_OK);
1454 struct ath_buf *bf;
1468 TAILQ_FOREACH(bf, &sc->sc_rxbuf, bf_list) {
1469 int error = ath_rxbuf_init(sc, bf);
1478 bf = TAILQ_FIRST(&sc->sc_rxbuf);
1479 ath_hal_putrxbuf(ah, bf->bf_daddr, HAL_RX_QUEUE_HP);