Lines Matching refs:tx_ring
503 static void i40e_clean_xdp_tx_buffer(struct i40e_ring *tx_ring, in i40e_clean_xdp_tx_buffer() argument
507 tx_ring->xdp_tx_active--; in i40e_clean_xdp_tx_buffer()
508 dma_unmap_single(tx_ring->dev, in i40e_clean_xdp_tx_buffer()
521 bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi, struct i40e_ring *tx_ring) in i40e_clean_xdp_tx_irq() argument
523 struct xsk_buff_pool *bp = tx_ring->xsk_pool; in i40e_clean_xdp_tx_irq()
525 u32 head_idx = i40e_get_head(tx_ring); in i40e_clean_xdp_tx_irq()
529 if (head_idx < tx_ring->next_to_clean) in i40e_clean_xdp_tx_irq()
530 head_idx += tx_ring->count; in i40e_clean_xdp_tx_irq()
531 completed_frames = head_idx - tx_ring->next_to_clean; in i40e_clean_xdp_tx_irq()
536 if (likely(!tx_ring->xdp_tx_active)) { in i40e_clean_xdp_tx_irq()
541 ntc = tx_ring->next_to_clean; in i40e_clean_xdp_tx_irq()
544 tx_bi = &tx_ring->tx_bi[ntc]; in i40e_clean_xdp_tx_irq()
547 i40e_clean_xdp_tx_buffer(tx_ring, tx_bi); in i40e_clean_xdp_tx_irq()
553 if (++ntc >= tx_ring->count) in i40e_clean_xdp_tx_irq()
558 tx_ring->next_to_clean += completed_frames; in i40e_clean_xdp_tx_irq()
559 if (unlikely(tx_ring->next_to_clean >= tx_ring->count)) in i40e_clean_xdp_tx_irq()
560 tx_ring->next_to_clean -= tx_ring->count; in i40e_clean_xdp_tx_irq()
565 i40e_arm_wb(tx_ring, vsi, completed_frames); in i40e_clean_xdp_tx_irq()
568 if (xsk_uses_need_wakeup(tx_ring->xsk_pool)) in i40e_clean_xdp_tx_irq()
569 xsk_set_tx_need_wakeup(tx_ring->xsk_pool); in i40e_clean_xdp_tx_irq()
571 return i40e_xmit_zc(tx_ring, I40E_DESC_UNUSED(tx_ring)); in i40e_clean_xdp_tx_irq()
635 void i40e_xsk_clean_tx_ring(struct i40e_ring *tx_ring) in i40e_xsk_clean_tx_ring() argument
637 u16 ntc = tx_ring->next_to_clean, ntu = tx_ring->next_to_use; in i40e_xsk_clean_tx_ring()
638 struct xsk_buff_pool *bp = tx_ring->xsk_pool; in i40e_xsk_clean_tx_ring()
643 tx_bi = &tx_ring->tx_bi[ntc]; in i40e_xsk_clean_tx_ring()
646 i40e_clean_xdp_tx_buffer(tx_ring, tx_bi); in i40e_xsk_clean_tx_ring()
653 if (ntc >= tx_ring->count) in i40e_xsk_clean_tx_ring()