Lines Matching full:ring

94 	struct rtwn_tx_ring *ring;  in rtwn_pci_tx_start_frame()  local
113 ring = &pc->tx_ring[qid]; in rtwn_pci_tx_start_frame()
114 data = &ring->tx_data[ring->cur]; in rtwn_pci_tx_start_frame()
117 "%s: ring #%u is full (m %p)\n", __func__, qid, data->m); in rtwn_pci_tx_start_frame()
122 ((uint8_t *)ring->desc + sc->txdesc_len * ring->cur); in rtwn_pci_tx_start_frame()
125 "%s: OWN bit is set (tx desc %d, ring %u)!\n", in rtwn_pci_tx_start_frame()
126 __func__, ring->cur, qid); in rtwn_pci_tx_start_frame()
135 error = bus_dmamap_load_mbuf_sg(ring->data_dmat, data->map, m, segs, in rtwn_pci_tx_start_frame()
152 error = bus_dmamap_load_mbuf_sg(ring->data_dmat, data->map, m, in rtwn_pci_tx_start_frame()
173 bus_dmamap_sync(ring->desc_dmat, ring->desc_map, in rtwn_pci_tx_start_frame()
175 bus_dmamap_sync(ring->data_dmat, data->map, BUS_DMASYNC_PREWRITE); in rtwn_pci_tx_start_frame()
180 ring->cur = (ring->cur + 1) % RTWN_PCI_TX_LIST_COUNT; in rtwn_pci_tx_start_frame()
182 ring->queued++; in rtwn_pci_tx_start_frame()
183 if (ring->queued >= (RTWN_PCI_TX_LIST_COUNT - 1)) in rtwn_pci_tx_start_frame()
201 struct rtwn_tx_ring *ring; in rtwn_pci_tx_start_beacon() local
211 ring = &pc->tx_ring[RTWN_PCI_BEACON_QUEUE]; in rtwn_pci_tx_start_beacon()
212 data = &ring->tx_data[id]; in rtwn_pci_tx_start_beacon()
214 ((uint8_t *)ring->desc + id * sc->txdesc_len); in rtwn_pci_tx_start_beacon()
216 bus_dmamap_sync(ring->desc_dmat, ring->desc_map, in rtwn_pci_tx_start_beacon()
227 bus_dmamap_unload(ring->data_dmat, data->map); in rtwn_pci_tx_start_beacon()
230 error = bus_dmamap_load_mbuf_sg(ring->data_dmat, in rtwn_pci_tx_start_beacon()
243 bus_dmamap_sync(ring->desc_dmat, ring->desc_map, in rtwn_pci_tx_start_beacon()
250 bus_dmamap_sync(ring->data_dmat, data->map, BUS_DMASYNC_PREWRITE); in rtwn_pci_tx_start_beacon()