Lines Matching refs:rx_ring

74 	struct ena_ring *rx_ring;  in ena_cleanup()  local
81 rx_ring = que->rx_ring; in ena_cleanup()
99 atomic_store_8(&rx_ring->first_interrupt, 1); in ena_cleanup()
102 rxc = ena_rx_cleanup(rx_ring); in ena_cleanup()
346 ena_rx_hash_mbuf(struct ena_ring *rx_ring, struct ena_com_rx_ctx *ena_rx_ctx, in ena_rx_hash_mbuf() argument
349 struct ena_adapter *adapter = rx_ring->adapter; in ena_rx_hash_mbuf()
405 mbuf->m_pkthdr.flowid = rx_ring->qid; in ena_rx_hash_mbuf()
419 ena_rx_mbuf(struct ena_ring *rx_ring, struct ena_com_rx_buf_info *ena_bufs, in ena_rx_mbuf() argument
430 adapter = rx_ring->adapter; in ena_rx_mbuf()
435 rx_info = &rx_ring->rx_buffer_info[req_id]; in ena_rx_mbuf()
438 rx_ring->qid, req_id); in ena_rx_mbuf()
455 mbuf->m_pkthdr.rcvif = rx_ring->que->adapter->ifp; in ena_rx_mbuf()
458 ena_rx_hash_mbuf(rx_ring, ena_rx_ctx, mbuf); in ena_rx_mbuf()
464 bus_dmamap_unload(rx_ring->adapter->rx_buf_tag, rx_info->map); in ena_rx_mbuf()
467 rx_ring->free_rx_ids[ntc] = req_id; in ena_rx_mbuf()
468 ntc = ENA_RX_RING_IDX_NEXT(ntc, rx_ring->ring_size); in ena_rx_mbuf()
478 rx_info = &rx_ring->rx_buffer_info[req_id]; in ena_rx_mbuf()
482 rx_ring->qid, req_id); in ena_rx_mbuf()
501 counter_u64_add(rx_ring->rx_stats.mbuf_alloc_fail, 1); in ena_rx_mbuf()
510 bus_dmamap_unload(rx_ring->adapter->rx_buf_tag, rx_info->map); in ena_rx_mbuf()
514 rx_ring->free_rx_ids[ntc] = req_id; in ena_rx_mbuf()
515 ntc = ENA_RX_RING_IDX_NEXT(ntc, rx_ring->ring_size); in ena_rx_mbuf()
527 ena_rx_checksum(struct ena_ring *rx_ring, struct ena_com_rx_ctx *ena_rx_ctx, in ena_rx_checksum() argument
530 device_t pdev = rx_ring->adapter->pdev; in ena_rx_checksum()
537 counter_u64_add(rx_ring->rx_stats.csum_bad, 1); in ena_rx_checksum()
548 counter_u64_add(rx_ring->rx_stats.csum_bad, 1); in ena_rx_checksum()
553 counter_u64_add(rx_ring->rx_stats.csum_good, 1); in ena_rx_checksum()
563 ena_rx_cleanup(struct ena_ring *rx_ring) in ena_rx_cleanup() argument
585 adapter = rx_ring->que->adapter; in ena_rx_cleanup()
588 qid = rx_ring->que->id; in ena_rx_cleanup()
592 next_to_clean = rx_ring->next_to_clean; in ena_rx_cleanup()
595 if (netmap_rx_irq(adapter->ifp, rx_ring->qid, &done) != NM_IRQ_PASS) in ena_rx_cleanup()
602 ena_rx_ctx.ena_bufs = rx_ring->ena_bufs; in ena_rx_cleanup()
612 counter_u64_add(rx_ring->rx_stats.bad_desc_num, in ena_rx_cleanup()
618 counter_u64_add(rx_ring->rx_stats.bad_req_id, in ena_rx_cleanup()
631 rx_ring->qid, ena_rx_ctx.descs, ena_rx_ctx.l3_proto, in ena_rx_cleanup()
635 mbuf = ena_rx_mbuf(rx_ring, rx_ring->ena_bufs, &ena_rx_ctx, in ena_rx_cleanup()
642 rx_ring->free_rx_ids[next_to_clean] = in ena_rx_cleanup()
643 rx_ring->ena_bufs[i].req_id; in ena_rx_cleanup()
645 next_to_clean, rx_ring->ring_size); in ena_rx_cleanup()
652 ena_rx_checksum(rx_ring, &ena_rx_ctx, mbuf); in ena_rx_cleanup()
656 counter_u64_add_protected(rx_ring->rx_stats.bytes, in ena_rx_cleanup()
675 if ((rx_ring->lro.lro_cnt != 0) && in ena_rx_cleanup()
676 (tcp_lro_rx(&rx_ring->lro, mbuf, 0) == 0)) in ena_rx_cleanup()
686 counter_u64_add_protected(rx_ring->rx_stats.cnt, 1); in ena_rx_cleanup()
691 rx_ring->next_to_clean = next_to_clean; in ena_rx_cleanup()
695 rx_ring->ring_size / ENA_RX_REFILL_THRESH_DIVIDER, in ena_rx_cleanup()
699 ena_refill_rx_bufs(rx_ring, refill_required); in ena_rx_cleanup()
702 tcp_lro_flush_all(&rx_ring->lro); in ena_rx_cleanup()