Lines Matching refs:kring
723 struct netmap_kring **kring0, *kring; in netmap_bwrap_polling() local
733 kring = kring0[i]; in netmap_bwrap_polling()
734 kring->nm_notify(kring, 0); in netmap_bwrap_polling()
1096 netmap_vp_rxsync_locked(struct netmap_kring *kring, int flags) in netmap_vp_rxsync_locked() argument
1098 struct netmap_adapter *na = kring->na; in netmap_vp_rxsync_locked()
1099 struct netmap_ring *ring = kring->ring; in netmap_vp_rxsync_locked()
1100 u_int nm_i, lim = kring->nkr_num_slots - 1; in netmap_vp_rxsync_locked()
1101 u_int head = kring->rhead; in netmap_vp_rxsync_locked()
1106 n = netmap_ring_reinit(kring); in netmap_vp_rxsync_locked()
1114 nm_i = kring->nr_hwcur; in netmap_vp_rxsync_locked()
1121 if (addr == NETMAP_BUF_BASE(kring->na)) { /* bad buf */ in netmap_vp_rxsync_locked()
1128 kring->nr_hwcur = head; in netmap_vp_rxsync_locked()
1144 netmap_vp_rxsync(struct netmap_kring *kring, int flags) in netmap_vp_rxsync() argument
1148 mtx_lock(&kring->q_lock); in netmap_vp_rxsync()
1149 n = netmap_vp_rxsync_locked(kring, flags); in netmap_vp_rxsync()
1150 mtx_unlock(&kring->q_lock); in netmap_vp_rxsync()
1241 netmap_bwrap_intr_notify(struct netmap_kring *kring, int flags) in netmap_bwrap_intr_notify() argument
1243 struct netmap_adapter *na = kring->na; in netmap_bwrap_intr_notify()
1247 u_int ring_nr = kring->ring_id; in netmap_bwrap_intr_notify()
1252 nm_prinf("%s %s 0x%x", na->name, kring->name, flags); in netmap_bwrap_intr_notify()
1257 if (nm_kr_tryget(kring, 0 /* can't sleep */, NULL)) { in netmap_bwrap_intr_notify()
1263 kring->rhead, kring->rcur, kring->rtail); in netmap_bwrap_intr_notify()
1268 error = kring->nm_sync(kring, 0); in netmap_bwrap_intr_notify()
1271 if (kring->nr_hwcur == kring->nr_hwtail) { in netmap_bwrap_intr_notify()
1274 kring->name); in netmap_bwrap_intr_notify()
1282 bkring->rhead = bkring->rcur = kring->nr_hwtail; in netmap_bwrap_intr_notify()
1287 kring->rhead = kring->rcur = kring->rtail = kring->nr_hwtail; in netmap_bwrap_intr_notify()
1289 error = kring->nm_sync(kring, 0); in netmap_bwrap_intr_notify()
1293 if (kring->rcur != kring->nr_hwtail) { in netmap_bwrap_intr_notify()
1297 nm_kr_put(kring); in netmap_bwrap_intr_notify()
1350 struct netmap_kring *kring = NMR(hwna, nm_txrx_swap(t))[i]; in netmap_bwrap_reg() local
1351 NMR(na, t)[i]->nr_mode = kring->nr_mode; in netmap_bwrap_reg()
1467 netmap_bwrap_bufcfg(struct netmap_kring *kring, uint64_t target) in netmap_bwrap_bufcfg() argument
1469 struct netmap_adapter *na = kring->na; in netmap_bwrap_bufcfg()
1480 r = nm_txrx_swap(kring->tx); in netmap_bwrap_bufcfg()
1481 hwkring = NMR(hwna, r)[kring->ring_id]; in netmap_bwrap_bufcfg()
1486 hwkring->offset_mask = kring->offset_mask; in netmap_bwrap_bufcfg()
1487 hwkring->offset_max = kring->offset_max; in netmap_bwrap_bufcfg()
1488 hwkring->offset_gap = kring->offset_gap; in netmap_bwrap_bufcfg()
1494 kring->hwbuf_len = hwkring->hwbuf_len; in netmap_bwrap_bufcfg()
1495 kring->buf_align = hwkring->buf_align; in netmap_bwrap_bufcfg()
1600 netmap_bwrap_notify(struct netmap_kring *kring, int flags) in netmap_bwrap_notify() argument
1602 struct netmap_adapter *na = kring->na; in netmap_bwrap_notify()
1605 u_int ring_n = kring->ring_id; in netmap_bwrap_notify()
1606 u_int lim = kring->nkr_num_slots - 1; in netmap_bwrap_notify()
1611 (kring ? kring->name : "NULL!"), in netmap_bwrap_notify()
1621 netmap_vp_rxsync(kring, flags); in netmap_bwrap_notify()
1624 kring->nr_hwcur, kring->nr_hwtail, kring->nkr_hwlease, in netmap_bwrap_notify()
1625 kring->rhead, kring->rcur, kring->rtail, in netmap_bwrap_notify()
1630 hw_kring->rhead = hw_kring->rcur = kring->nr_hwtail; in netmap_bwrap_notify()
1637 kring->rhead = kring->rcur = nm_next(hw_kring->nr_hwtail, lim); /* skip past reserved slot */ in netmap_bwrap_notify()
1640 netmap_vp_rxsync(kring, flags); in netmap_bwrap_notify()
1643 kring->nr_hwcur, kring->nr_hwtail, kring->nkr_hwlease, in netmap_bwrap_notify()
1644 kring->rhead, kring->rcur, kring->rtail, in netmap_bwrap_notify()