Lines Matching full:rx_desc

118 	union fm10k_rx_desc *rx_desc;  in fm10k_alloc_rx_buffers()  local
126 rx_desc = FM10K_RX_DESC(rx_ring, i); in fm10k_alloc_rx_buffers()
137 rx_desc->q.pkt_addr = cpu_to_le64(bi->dma + bi->page_offset); in fm10k_alloc_rx_buffers()
139 rx_desc++; in fm10k_alloc_rx_buffers()
143 rx_desc = FM10K_RX_DESC(rx_ring, 0); in fm10k_alloc_rx_buffers()
149 rx_desc->d.staterr = 0; in fm10k_alloc_rx_buffers()
238 * @size: packet size from rx_desc
239 * @rx_desc: descriptor containing length of buffer written by hardware
252 union fm10k_rx_desc *rx_desc, in fm10k_add_rx_frag() argument
299 union fm10k_rx_desc *rx_desc, in fm10k_fetch_rx_buffer() argument
302 unsigned int size = le16_to_cpu(rx_desc->w.length); in fm10k_fetch_rx_buffer()
340 if (fm10k_add_rx_frag(rx_buffer, size, rx_desc, skb)) { in fm10k_fetch_rx_buffer()
356 union fm10k_rx_desc *rx_desc, in fm10k_rx_checksum() argument
366 if (fm10k_test_staterr(rx_desc, in fm10k_rx_checksum()
376 if (fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_L4CS2)) in fm10k_rx_checksum()
378 else if (!fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_L4CS)) in fm10k_rx_checksum()
393 union fm10k_rx_desc *rx_desc, in fm10k_rx_hash() argument
401 rss_type = le16_to_cpu(rx_desc->w.pkt_info) & FM10K_RXD_RSSTYPE_MASK; in fm10k_rx_hash()
405 skb_set_hash(skb, le32_to_cpu(rx_desc->d.rss), in fm10k_rx_hash()
411 union fm10k_rx_desc __maybe_unused *rx_desc, in fm10k_type_trans() argument
441 * @rx_desc: pointer to the EOP Rx descriptor
449 union fm10k_rx_desc *rx_desc, in fm10k_process_skb_fields() argument
454 fm10k_rx_hash(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
456 fm10k_rx_checksum(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
458 FM10K_CB(skb)->tstamp = rx_desc->q.timestamp; in fm10k_process_skb_fields()
460 FM10K_CB(skb)->fi.w.vlan = rx_desc->w.vlan; in fm10k_process_skb_fields()
462 FM10K_CB(skb)->fi.d.glort = rx_desc->d.glort; in fm10k_process_skb_fields()
464 if (rx_desc->w.vlan) { in fm10k_process_skb_fields()
465 u16 vid = le16_to_cpu(rx_desc->w.vlan); in fm10k_process_skb_fields()
474 fm10k_type_trans(rx_ring, rx_desc, skb); in fm10k_process_skb_fields()
482 * @rx_desc: Rx descriptor for current buffer
490 union fm10k_rx_desc *rx_desc) in fm10k_is_non_eop() argument
500 if (likely(fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_EOP))) in fm10k_is_non_eop()
509 * @rx_desc: pointer to the EOP Rx descriptor
521 union fm10k_rx_desc *rx_desc, in fm10k_cleanup_headers() argument
524 if (unlikely((fm10k_test_staterr(rx_desc, in fm10k_cleanup_headers()
528 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_SWITCH_ERROR)) in fm10k_cleanup_headers()
530 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_NO_DESCRIPTOR)) in fm10k_cleanup_headers()
532 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_PP_ERROR)) in fm10k_cleanup_headers()
534 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_SWITCH_READY)) in fm10k_cleanup_headers()
536 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_TOO_BIG)) in fm10k_cleanup_headers()
570 union fm10k_rx_desc *rx_desc; in fm10k_clean_rx_irq() local
578 rx_desc = FM10K_RX_DESC(rx_ring, rx_ring->next_to_clean); in fm10k_clean_rx_irq()
580 if (!rx_desc->d.staterr) in fm10k_clean_rx_irq()
584 * any other fields out of the rx_desc until we know the in fm10k_clean_rx_irq()
590 skb = fm10k_fetch_rx_buffer(rx_ring, rx_desc, skb); in fm10k_clean_rx_irq()
599 if (fm10k_is_non_eop(rx_ring, rx_desc)) in fm10k_clean_rx_irq()
603 if (fm10k_cleanup_headers(rx_ring, rx_desc, skb)) { in fm10k_clean_rx_irq()
609 total_bytes += fm10k_process_skb_fields(rx_ring, rx_desc, skb); in fm10k_clean_rx_irq()