Lines Matching refs:bf
631 struct athn_tx_buf *bf; in ar9003_tx_alloc() local
689 bf = &sc->sc_txpool[i]; in ar9003_tx_alloc()
693 &bf->bf_map); in ar9003_tx_alloc()
700 bf->bf_descs = &((struct ar_tx_desc *)sc->sc_descs)[i]; in ar9003_tx_alloc()
701 bf->bf_daddr = sc->sc_map->dm_segs[0].ds_addr + in ar9003_tx_alloc()
704 SIMPLEQ_INSERT_TAIL(&sc->sc_txbufs, bf, bf_list); in ar9003_tx_alloc()
715 struct athn_tx_buf *bf; in ar9003_tx_free() local
719 bf = &sc->sc_txpool[i]; in ar9003_tx_free()
721 if (bf->bf_map != NULL) in ar9003_tx_free()
722 bus_dmamap_destroy(sc->sc_dmat, bf->bf_map); in ar9003_tx_free()
750 struct athn_rx_buf *bf; in ar9003_rx_alloc() local
754 rxq->bf = malloc(count * sizeof(*bf), M_DEVBUF, M_WAITOK | M_ZERO); in ar9003_rx_alloc()
758 bf = &rxq->bf[i]; in ar9003_rx_alloc()
762 &bf->bf_map); in ar9003_rx_alloc()
771 bf->bf_m = MCLGETI(NULL, M_DONTWAIT, NULL, ATHN_RXBUFSZ); in ar9003_rx_alloc()
772 if (bf->bf_m == NULL) { in ar9003_rx_alloc()
779 error = bus_dmamap_load(sc->sc_dmat, bf->bf_map, in ar9003_rx_alloc()
780 mtod(bf->bf_m, void *), ATHN_RXBUFSZ, NULL, in ar9003_rx_alloc()
788 ds = mtod(bf->bf_m, struct ar_rx_status *); in ar9003_rx_alloc()
790 bf->bf_desc = ds; in ar9003_rx_alloc()
791 bf->bf_daddr = bf->bf_map->dm_segs[0].ds_addr; in ar9003_rx_alloc()
793 bus_dmamap_sync(sc->sc_dmat, bf->bf_map, 0, ATHN_RXBUFSZ, in ar9003_rx_alloc()
806 struct athn_rx_buf *bf; in ar9003_rx_free() local
809 if (rxq->bf == NULL) in ar9003_rx_free()
812 bf = &rxq->bf[i]; in ar9003_rx_free()
814 if (bf->bf_map != NULL) in ar9003_rx_free()
815 bus_dmamap_destroy(sc->sc_dmat, bf->bf_map); in ar9003_rx_free()
816 m_freem(bf->bf_m); in ar9003_rx_free()
818 free(rxq->bf, M_DEVBUF); in ar9003_rx_free()
838 struct athn_rx_buf *bf; in ar9003_rx_enable() local
857 bf = &rxq->bf[i]; in ar9003_rx_enable()
858 ds = bf->bf_desc; in ar9003_rx_enable()
862 AR_WRITE(sc, AR_LP_RXDP, bf->bf_daddr); in ar9003_rx_enable()
864 AR_WRITE(sc, AR_HP_RXDP, bf->bf_daddr); in ar9003_rx_enable()
866 SIMPLEQ_INSERT_TAIL(&rxq->head, bf, bf_list); in ar9003_rx_enable()
939 struct athn_rx_buf *bf; in ar9003_rx_process() local
948 bf = SIMPLEQ_FIRST(&rxq->head); in ar9003_rx_process()
949 if (__predict_false(bf == NULL)) { /* Should not happen. */ in ar9003_rx_process()
953 bus_dmamap_sync(sc->sc_dmat, bf->bf_map, 0, ATHN_RXBUFSZ, in ar9003_rx_process()
956 ds = mtod(bf->bf_m, struct ar_rx_status *); in ar9003_rx_process()
978 m = bf->bf_m; in ar9003_rx_process()
1009 bus_dmamap_unload(sc->sc_dmat, bf->bf_map); in ar9003_rx_process()
1012 error = bus_dmamap_load(sc->sc_dmat, bf->bf_map, mtod(m1, void *), in ar9003_rx_process()
1018 error = bus_dmamap_load(sc->sc_dmat, bf->bf_map, in ar9003_rx_process()
1019 mtod(bf->bf_m, void *), ATHN_RXBUFSZ, NULL, in ar9003_rx_process()
1022 bf->bf_daddr = bf->bf_map->dm_segs[0].ds_addr; in ar9003_rx_process()
1026 bf->bf_desc = mtod(m1, struct ar_rx_status *); in ar9003_rx_process()
1027 bf->bf_daddr = bf->bf_map->dm_segs[0].ds_addr; in ar9003_rx_process()
1029 m = bf->bf_m; in ar9003_rx_process()
1030 bf->bf_m = m1; in ar9003_rx_process()
1070 memset(bf->bf_desc, 0, sizeof(*ds)); in ar9003_rx_process()
1073 bus_dmamap_sync(sc->sc_dmat, bf->bf_map, 0, ATHN_RXBUFSZ, in ar9003_rx_process()
1077 AR_WRITE(sc, AR_LP_RXDP, bf->bf_daddr); in ar9003_rx_process()
1079 AR_WRITE(sc, AR_HP_RXDP, bf->bf_daddr); in ar9003_rx_process()
1081 SIMPLEQ_INSERT_TAIL(&rxq->head, bf, bf_list); in ar9003_rx_process()
1103 struct athn_tx_buf *bf; in ar9003_tx_process() local
1123 bf = SIMPLEQ_FIRST(&txq->head); in ar9003_tx_process()
1124 if (bf == NULL || bf == txq->wait) { in ar9003_tx_process()
1140 if (bf->bf_txflags & ATHN_TXFLAG_PAPRD) in ar9003_tx_process()
1143 an = (struct athn_node *)bf->bf_ni; in ar9003_tx_process()
1165 bus_dmamap_sync(sc->sc_dmat, bf->bf_map, 0, bf->bf_map->dm_mapsize, in ar9003_tx_process()
1167 bus_dmamap_unload(sc->sc_dmat, bf->bf_map); in ar9003_tx_process()
1169 m_freem(bf->bf_m); in ar9003_tx_process()
1170 bf->bf_m = NULL; in ar9003_tx_process()
1171 ieee80211_free_node(bf->bf_ni); in ar9003_tx_process()
1172 bf->bf_ni = NULL; in ar9003_tx_process()
1175 SIMPLEQ_INSERT_TAIL(&sc->sc_txbufs, bf, bf_list); in ar9003_tx_process()
1215 struct athn_tx_buf *bf = sc->sc_bcnbuf; in ar9003_swba_intr() local
1252 if (__predict_true(bf->bf_m != NULL)) { in ar9003_swba_intr()
1253 bus_dmamap_sync(sc->sc_dmat, bf->bf_map, 0, in ar9003_swba_intr()
1254 bf->bf_map->dm_mapsize, BUS_DMASYNC_POSTWRITE); in ar9003_swba_intr()
1255 bus_dmamap_unload(sc->sc_dmat, bf->bf_map); in ar9003_swba_intr()
1256 m_freem(bf->bf_m); in ar9003_swba_intr()
1257 bf->bf_m = NULL; in ar9003_swba_intr()
1260 error = bus_dmamap_load_mbuf(sc->sc_dmat, bf->bf_map, m, in ar9003_swba_intr()
1266 bf->bf_m = m; in ar9003_swba_intr()
1269 ds = bf->bf_descs; in ar9003_swba_intr()
1297 ds->ds_segs[0].ds_data = bf->bf_map->dm_segs[0].ds_addr; in ar9003_swba_intr()
1300 (bf->bf_map->dm_segs[0].ds_len + 3) & ~3); in ar9003_swba_intr()
1308 bus_dmamap_sync(sc->sc_dmat, bf->bf_map, 0, bf->bf_map->dm_mapsize, in ar9003_swba_intr()
1314 AR_WRITE(sc, AR_QTXDP(ATHN_QID_BEACON), bf->bf_daddr); in ar9003_swba_intr()
1466 struct athn_tx_buf *bf; in ar9003_tx() local
1475 bf = SIMPLEQ_FIRST(&sc->sc_txbufs); in ar9003_tx()
1476 KASSERT(bf != NULL); in ar9003_tx()
1578 error = bus_dmamap_load_mbuf(sc->sc_dmat, bf->bf_map, m, in ar9003_tx()
1609 error = bus_dmamap_load_mbuf(sc->sc_dmat, bf->bf_map, m, in ar9003_tx()
1618 bf->bf_m = m; in ar9003_tx()
1619 bf->bf_ni = ni; in ar9003_tx()
1620 bf->bf_txflags = txflags; in ar9003_tx()
1627 ds = bf->bf_descs; in ar9003_tx()
1821 for (i = 0; i < bf->bf_map->dm_nsegs; i++) { in ar9003_tx()
1822 ds->ds_segs[i].ds_data = bf->bf_map->dm_segs[i].ds_addr; in ar9003_tx()
1824 bf->bf_map->dm_segs[i].ds_len); in ar9003_tx()
1835 bus_dmamap_sync(sc->sc_dmat, bf->bf_map, 0, bf->bf_map->dm_mapsize, in ar9003_tx()
1840 qid, bf->bf_map->dm_nsegs, ds->ds_ctl11, ds->ds_ctl12, in ar9003_tx()
1844 SIMPLEQ_INSERT_TAIL(&txq->head, bf, bf_list); in ar9003_tx()
1848 AR_WRITE(sc, AR_QTXDP(qid), bf->bf_daddr); in ar9003_tx()
1852 txq->wait = bf; in ar9003_tx()