Lines Matching refs:kring
211 static int ptnet_nm_txsync(struct netmap_kring *kring, int flags);
212 static int ptnet_nm_rxsync(struct netmap_kring *kring, int flags);
218 static unsigned ptnet_rx_discard(struct netmap_kring *kring,
1124 struct netmap_kring *kring; in ptnet_sync_from_csb() local
1127 kring = na->tx_rings[i]; in ptnet_sync_from_csb()
1129 kring = na->rx_rings[i - na->num_tx_rings]; in ptnet_sync_from_csb()
1131 kring->rhead = kring->ring->head = atok->head; in ptnet_sync_from_csb()
1132 kring->rcur = kring->ring->cur = atok->cur; in ptnet_sync_from_csb()
1133 kring->nr_hwcur = ktoa->hwcur; in ptnet_sync_from_csb()
1134 kring->nr_hwtail = kring->rtail = in ptnet_sync_from_csb()
1135 kring->ring->tail = ktoa->hwtail; in ptnet_sync_from_csb()
1141 t, i, kring->nr_hwcur, kring->rhead, kring->rcur, in ptnet_sync_from_csb()
1142 kring->ring->head, kring->ring->cur, kring->nr_hwtail, in ptnet_sync_from_csb()
1143 kring->rtail, kring->ring->tail); in ptnet_sync_from_csb()
1238 ptnet_nm_txsync(struct netmap_kring *kring, int flags) in ptnet_nm_txsync() argument
1240 struct ptnet_softc *sc = if_getsoftc(kring->na->ifp); in ptnet_nm_txsync()
1241 struct ptnet_queue *pq = sc->queues + kring->ring_id; in ptnet_nm_txsync()
1244 notify = netmap_pt_guest_txsync(pq->atok, pq->ktoa, kring, flags); in ptnet_nm_txsync()
1253 ptnet_nm_rxsync(struct netmap_kring *kring, int flags) in ptnet_nm_rxsync() argument
1255 struct ptnet_softc *sc = if_getsoftc(kring->na->ifp); in ptnet_nm_rxsync()
1256 struct ptnet_queue *pq = sc->rxqueues + kring->ring_id; in ptnet_nm_rxsync()
1259 notify = netmap_pt_guest_rxsync(pq->atok, pq->ktoa, kring, flags); in ptnet_nm_rxsync()
1339 ptnet_ring_update(struct ptnet_queue *pq, struct netmap_kring *kring, in ptnet_ring_update() argument
1342 struct netmap_ring *ring = kring->ring; in ptnet_ring_update()
1352 kring->rcur = kring->rhead = head; in ptnet_ring_update()
1354 nm_sync_kloop_appl_write(atok, kring->rcur, kring->rhead); in ptnet_ring_update()
1380 struct netmap_kring *kring; in ptnet_drain_transmit_queue() local
1410 kring = na->tx_rings[pq->kring_id]; in ptnet_drain_transmit_queue()
1411 ring = kring->ring; in ptnet_drain_transmit_queue()
1412 lim = kring->nkr_num_slots - 1; in ptnet_drain_transmit_queue()
1417 if (PTNET_TX_NOSPACE(head, kring, minspace)) { in ptnet_drain_transmit_queue()
1421 ptnet_sync_tail(ktoa, kring); in ptnet_drain_transmit_queue()
1423 if (PTNET_TX_NOSPACE(head, kring, minspace)) { in ptnet_drain_transmit_queue()
1436 ptnet_sync_tail(ktoa, kring); in ptnet_drain_transmit_queue()
1437 if (likely(PTNET_TX_NOSPACE(head, kring, in ptnet_drain_transmit_queue()
1546 ptnet_ring_update(pq, kring, head, NAF_FORCE_RECLAIM); in ptnet_drain_transmit_queue()
1552 ptnet_ring_update(pq, kring, head, NAF_FORCE_RECLAIM); in ptnet_drain_transmit_queue()
1616 ptnet_rx_discard(struct netmap_kring *kring, unsigned int head) in ptnet_rx_discard() argument
1618 struct netmap_ring *ring = kring->ring; in ptnet_rx_discard()
1622 head = nm_next(head, kring->nkr_num_slots - 1); in ptnet_rx_discard()
1678 struct netmap_kring *kring = na->rx_rings[pq->kring_id]; in ptnet_rx_eof() local
1679 struct netmap_ring *ring = kring->ring; in ptnet_rx_eof()
1680 unsigned int const lim = kring->nkr_num_slots - 1; in ptnet_rx_eof()
1692 kring->nr_kflags &= ~NKR_PENDINTR; in ptnet_rx_eof()
1708 ptnet_sync_tail(ktoa, kring); in ptnet_rx_eof()
1723 ptnet_sync_tail(ktoa, kring); in ptnet_rx_eof()
1744 head = ptnet_rx_discard(kring, head); in ptnet_rx_eof()
1860 ptnet_ring_update(pq, kring, head, NAF_FORCE_READ); in ptnet_rx_eof()
1887 ptnet_ring_update(pq, kring, head, NAF_FORCE_READ); in ptnet_rx_eof()