Lines Matching refs:kring
116 em_netmap_txsync(struct netmap_kring *kring, int flags)
118 struct netmap_adapter *na = kring->na;
120 struct netmap_ring *ring = kring->ring;
124 u_int const lim = kring->nkr_num_slots - 1;
125 u_int const head = kring->rhead;
127 u_int report_frequency = kring->nkr_num_slots >> 1;
131 struct tx_ring *txr = &adapter->tx_rings[kring->ring_id];
140 nm_i = kring->nr_hwcur;
142 nic_i = netmap_idx_k2n(kring, nm_i);
175 kring->nr_hwcur = head;
188 if (flags & NAF_FORCE_RECLAIM || nm_kr_txempty(kring)) {
190 nic_i = E1000_READ_REG(&adapter->hw, E1000_TDH(kring->ring_id));
191 if (unlikely(nic_i >= kring->nkr_num_slots)) {
193 nic_i -= kring->nkr_num_slots;
197 kring->nr_hwtail = nm_prev(netmap_idx_n2k(kring, nic_i), lim);
209 em_netmap_rxsync(struct netmap_kring *kring, int flags)
211 struct netmap_adapter *na = kring->na;
213 struct netmap_ring *ring = kring->ring;
217 u_int const lim = kring->nkr_num_slots - 1;
218 u_int const head = kring->rhead;
219 int force_update = (flags & NAF_FORCE_READ) || kring->nr_kflags & NKR_PENDINTR;
223 struct rx_ring *rxr = &adapter->rx_rings[kring->ring_id];
226 return netmap_ring_reinit(kring);
237 nm_i = netmap_idx_n2k(kring, nic_i);
256 kring->nr_hwtail = nm_i;
258 kring->nr_kflags &= ~NKR_PENDINTR;
264 nm_i = kring->nr_hwcur;
266 nic_i = netmap_idx_k2n(kring, nm_i);
290 kring->nr_hwcur = head;
305 return netmap_ring_reinit(kring);