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