Lines Matching refs:tx_ring
167 struct rtwn_tx_ring tx_ring[RTWN_NTXQUEUES]; member
623 struct rtwn_tx_ring *tx_ring = &sc->tx_ring[qid]; in rtwn_alloc_tx_list() local
630 BUS_DMA_NOWAIT, &tx_ring->map); in rtwn_alloc_tx_list()
639 &tx_ring->seg, 1, &tx_ring->nsegs, BUS_DMA_NOWAIT | BUS_DMA_ZERO); in rtwn_alloc_tx_list()
646 error = bus_dmamem_map(sc->sc_dmat, &tx_ring->seg, tx_ring->nsegs, in rtwn_alloc_tx_list()
648 (caddr_t *)&tx_ring->desc, BUS_DMA_NOWAIT); in rtwn_alloc_tx_list()
650 bus_dmamem_free(sc->sc_dmat, &tx_ring->seg, tx_ring->nsegs); in rtwn_alloc_tx_list()
656 error = bus_dmamap_load(sc->sc_dmat, tx_ring->map, tx_ring->desc, in rtwn_alloc_tx_list()
666 struct r92c_tx_desc_pci *desc = &tx_ring->desc[i]; in rtwn_alloc_tx_list()
669 desc->nextdescaddr = htole32(tx_ring->map->dm_segs[0].ds_addr in rtwn_alloc_tx_list()
673 tx_data = &tx_ring->tx_data[i]; in rtwn_alloc_tx_list()
694 struct rtwn_tx_ring *tx_ring = &sc->tx_ring[qid]; in rtwn_reset_tx_list() local
698 struct r92c_tx_desc_pci *desc = &tx_ring->desc[i]; in rtwn_reset_tx_list()
699 struct rtwn_tx_data *tx_data = &tx_ring->tx_data[i]; in rtwn_reset_tx_list()
714 bus_dmamap_sync(sc->sc_dmat, tx_ring->map, 0, MCLBYTES, in rtwn_reset_tx_list()
718 tx_ring->queued = 0; in rtwn_reset_tx_list()
719 tx_ring->cur = 0; in rtwn_reset_tx_list()
725 struct rtwn_tx_ring *tx_ring = &sc->tx_ring[qid]; in rtwn_free_tx_list() local
729 if (tx_ring->map != NULL) { in rtwn_free_tx_list()
730 if (tx_ring->desc != NULL) { in rtwn_free_tx_list()
731 bus_dmamap_unload(sc->sc_dmat, tx_ring->map); in rtwn_free_tx_list()
732 bus_dmamem_unmap(sc->sc_dmat, (caddr_t)tx_ring->desc, in rtwn_free_tx_list()
735 bus_dmamem_free(sc->sc_dmat, &tx_ring->seg, tx_ring->nsegs); in rtwn_free_tx_list()
737 bus_dmamap_destroy(sc->sc_dmat, tx_ring->map); in rtwn_free_tx_list()
741 tx_data = &tx_ring->tx_data[i]; in rtwn_free_tx_list()
752 tx_ring->queued = 0; in rtwn_free_tx_list()
753 tx_ring->cur = 0; in rtwn_free_tx_list()
984 struct rtwn_tx_ring *tx_ring; in rtwn_tx() local
1011 tx_ring = &sc->tx_ring[qid]; in rtwn_tx()
1012 data = &tx_ring->tx_data[tx_ring->cur]; in rtwn_tx()
1019 txd = &tx_ring->desc[tx_ring->cur]; in rtwn_tx()
1158 bus_dmamap_sync(sc->sc_dmat, tx_ring->map, 0, MCLBYTES, in rtwn_tx()
1185 tx_ring->cur = (tx_ring->cur + 1) % RTWN_TX_LIST_COUNT; in rtwn_tx()
1186 tx_ring->queued++; in rtwn_tx()
1188 if (tx_ring->queued >= (RTWN_TX_LIST_COUNT - 1)) in rtwn_tx()
1202 struct rtwn_tx_ring *tx_ring = &sc->tx_ring[qid]; in rtwn_tx_done() local
1207 bus_dmamap_sync(sc->sc_dmat, tx_ring->map, 0, MCLBYTES, in rtwn_tx_done()
1211 tx_data = &tx_ring->tx_data[i]; in rtwn_tx_done()
1215 tx_desc = &tx_ring->desc[i]; in rtwn_tx_done()
1226 tx_ring->queued--; in rtwn_tx_done()
1232 if (tx_ring->queued < (RTWN_TX_LIST_COUNT - 1)) in rtwn_tx_done()
2061 sc->tx_ring[RTWN_BK_QUEUE].map->dm_segs[0].ds_addr); in rtwn_dma_init()
2063 sc->tx_ring[RTWN_BE_QUEUE].map->dm_segs[0].ds_addr); in rtwn_dma_init()
2065 sc->tx_ring[RTWN_VI_QUEUE].map->dm_segs[0].ds_addr); in rtwn_dma_init()
2067 sc->tx_ring[RTWN_VO_QUEUE].map->dm_segs[0].ds_addr); in rtwn_dma_init()
2069 sc->tx_ring[RTWN_BEACON_QUEUE].map->dm_segs[0].ds_addr); in rtwn_dma_init()
2071 sc->tx_ring[RTWN_MGNT_QUEUE].map->dm_segs[0].ds_addr); in rtwn_dma_init()
2073 sc->tx_ring[RTWN_HIGH_QUEUE].map->dm_segs[0].ds_addr); in rtwn_dma_init()