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()
268 union fm10k_rx_desc *rx_desc, in fm10k_add_rx_frag() argument
273 unsigned int size = le16_to_cpu(rx_desc->w.length); in fm10k_add_rx_frag()
316 union fm10k_rx_desc *rx_desc, in fm10k_fetch_rx_buffer() argument
359 if (fm10k_add_rx_frag(rx_buffer, rx_desc, skb)) { in fm10k_fetch_rx_buffer()
375 union fm10k_rx_desc *rx_desc, in fm10k_rx_checksum() argument
385 if (fm10k_test_staterr(rx_desc, in fm10k_rx_checksum()
395 if (fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_L4CS2)) in fm10k_rx_checksum()
397 else if (!fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_L4CS)) in fm10k_rx_checksum()
412 union fm10k_rx_desc *rx_desc, in fm10k_rx_hash() argument
420 rss_type = le16_to_cpu(rx_desc->w.pkt_info) & FM10K_RXD_RSSTYPE_MASK; in fm10k_rx_hash()
424 skb_set_hash(skb, le32_to_cpu(rx_desc->d.rss), in fm10k_rx_hash()
430 union fm10k_rx_desc *rx_desc, in fm10k_rx_hwtstamp() argument
435 FM10K_CB(skb)->tstamp = rx_desc->q.timestamp; in fm10k_rx_hwtstamp()
439 le64_to_cpu(rx_desc->q.timestamp)); in fm10k_rx_hwtstamp()
443 union fm10k_rx_desc __maybe_unused *rx_desc, in fm10k_type_trans() argument
467 !!(rx_desc->w.hdr_info & in fm10k_type_trans()
482 union fm10k_rx_desc *rx_desc, in fm10k_process_skb_fields() argument
487 fm10k_rx_hash(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
489 fm10k_rx_checksum(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
491 fm10k_rx_hwtstamp(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
493 FM10K_CB(skb)->fi.w.vlan = rx_desc->w.vlan; in fm10k_process_skb_fields()
497 FM10K_CB(skb)->fi.d.glort = rx_desc->d.glort; in fm10k_process_skb_fields()
499 if (rx_desc->w.vlan) { in fm10k_process_skb_fields()
500 u16 vid = le16_to_cpu(rx_desc->w.vlan); in fm10k_process_skb_fields()
509 fm10k_type_trans(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
525 union fm10k_rx_desc *rx_desc) in fm10k_is_non_eop() argument
535 if (likely(fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_EOP))) in fm10k_is_non_eop()
556 union fm10k_rx_desc *rx_desc, in fm10k_cleanup_headers() argument
559 if (unlikely((fm10k_test_staterr(rx_desc, in fm10k_cleanup_headers()
563 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_SWITCH_ERROR)) in fm10k_cleanup_headers()
565 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_NO_DESCRIPTOR)) in fm10k_cleanup_headers()
567 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_PP_ERROR)) in fm10k_cleanup_headers()
569 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_SWITCH_READY)) in fm10k_cleanup_headers()
571 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_TOO_BIG)) in fm10k_cleanup_headers()
605 union fm10k_rx_desc *rx_desc; in fm10k_clean_rx_irq() local
613 rx_desc = FM10K_RX_DESC(rx_ring, rx_ring->next_to_clean); in fm10k_clean_rx_irq()
615 if (!rx_desc->d.staterr) in fm10k_clean_rx_irq()
625 skb = fm10k_fetch_rx_buffer(rx_ring, rx_desc, skb); in fm10k_clean_rx_irq()
634 if (fm10k_is_non_eop(rx_ring, rx_desc)) in fm10k_clean_rx_irq()
638 if (fm10k_cleanup_headers(rx_ring, rx_desc, skb)) { in fm10k_clean_rx_irq()
644 total_bytes += fm10k_process_skb_fields(rx_ring, rx_desc, skb); in fm10k_clean_rx_irq()