Lines Matching refs:rx_desc
131 union fm10k_rx_desc *rx_desc; in fm10k_alloc_rx_buffers() local
139 rx_desc = FM10K_RX_DESC(rx_ring, i); in fm10k_alloc_rx_buffers()
150 rx_desc->q.pkt_addr = cpu_to_le64(bi->dma + bi->page_offset); in fm10k_alloc_rx_buffers()
152 rx_desc++; in fm10k_alloc_rx_buffers()
156 rx_desc = FM10K_RX_DESC(rx_ring, 0); in fm10k_alloc_rx_buffers()
162 rx_desc->d.staterr = 0; in fm10k_alloc_rx_buffers()
270 union fm10k_rx_desc *rx_desc, in fm10k_add_rx_frag() argument
317 union fm10k_rx_desc *rx_desc, in fm10k_fetch_rx_buffer() argument
320 unsigned int size = le16_to_cpu(rx_desc->w.length); in fm10k_fetch_rx_buffer()
361 if (fm10k_add_rx_frag(rx_buffer, size, rx_desc, skb)) { in fm10k_fetch_rx_buffer()
377 union fm10k_rx_desc *rx_desc, in fm10k_rx_checksum() argument
387 if (fm10k_test_staterr(rx_desc, in fm10k_rx_checksum()
397 if (fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_L4CS2)) in fm10k_rx_checksum()
399 else if (!fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_L4CS)) in fm10k_rx_checksum()
414 union fm10k_rx_desc *rx_desc, in fm10k_rx_hash() argument
422 rss_type = le16_to_cpu(rx_desc->w.pkt_info) & FM10K_RXD_RSSTYPE_MASK; in fm10k_rx_hash()
426 skb_set_hash(skb, le32_to_cpu(rx_desc->d.rss), in fm10k_rx_hash()
432 union fm10k_rx_desc __maybe_unused *rx_desc, in fm10k_type_trans() argument
456 !!(rx_desc->w.hdr_info & in fm10k_type_trans()
471 union fm10k_rx_desc *rx_desc, in fm10k_process_skb_fields() argument
476 fm10k_rx_hash(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
478 fm10k_rx_checksum(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
480 FM10K_CB(skb)->tstamp = rx_desc->q.timestamp; in fm10k_process_skb_fields()
482 FM10K_CB(skb)->fi.w.vlan = rx_desc->w.vlan; in fm10k_process_skb_fields()
486 FM10K_CB(skb)->fi.d.glort = rx_desc->d.glort; in fm10k_process_skb_fields()
488 if (rx_desc->w.vlan) { in fm10k_process_skb_fields()
489 u16 vid = le16_to_cpu(rx_desc->w.vlan); in fm10k_process_skb_fields()
498 fm10k_type_trans(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
514 union fm10k_rx_desc *rx_desc) in fm10k_is_non_eop() argument
524 if (likely(fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_EOP))) in fm10k_is_non_eop()
545 union fm10k_rx_desc *rx_desc, in fm10k_cleanup_headers() argument
548 if (unlikely((fm10k_test_staterr(rx_desc, in fm10k_cleanup_headers()
552 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_SWITCH_ERROR)) in fm10k_cleanup_headers()
554 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_NO_DESCRIPTOR)) in fm10k_cleanup_headers()
556 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_PP_ERROR)) in fm10k_cleanup_headers()
558 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_SWITCH_READY)) in fm10k_cleanup_headers()
560 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_TOO_BIG)) in fm10k_cleanup_headers()
594 union fm10k_rx_desc *rx_desc; in fm10k_clean_rx_irq() local
602 rx_desc = FM10K_RX_DESC(rx_ring, rx_ring->next_to_clean); in fm10k_clean_rx_irq()
604 if (!rx_desc->d.staterr) in fm10k_clean_rx_irq()
614 skb = fm10k_fetch_rx_buffer(rx_ring, rx_desc, skb); in fm10k_clean_rx_irq()
623 if (fm10k_is_non_eop(rx_ring, rx_desc)) in fm10k_clean_rx_irq()
627 if (fm10k_cleanup_headers(rx_ring, rx_desc, skb)) { in fm10k_clean_rx_irq()
633 total_bytes += fm10k_process_skb_fields(rx_ring, rx_desc, skb); in fm10k_clean_rx_irq()