Lines Matching refs:rx_desc

119 	union fm10k_rx_desc *rx_desc;
127 rx_desc = FM10K_RX_DESC(rx_ring, i);
138 rx_desc->q.pkt_addr = cpu_to_le64(bi->dma + bi->page_offset);
140 rx_desc++;
144 rx_desc = FM10K_RX_DESC(rx_ring, 0);
150 rx_desc->d.staterr = 0;
239 * @size: packet size from rx_desc
240 * @rx_desc: descriptor containing length of buffer written by hardware
253 union fm10k_rx_desc *rx_desc,
300 union fm10k_rx_desc *rx_desc,
303 unsigned int size = le16_to_cpu(rx_desc->w.length);
341 if (fm10k_add_rx_frag(rx_buffer, size, rx_desc, skb)) {
357 union fm10k_rx_desc *rx_desc,
367 if (fm10k_test_staterr(rx_desc,
377 if (fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_L4CS2))
379 else if (!fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_L4CS))
394 union fm10k_rx_desc *rx_desc,
402 rss_type = le16_to_cpu(rx_desc->w.pkt_info) & FM10K_RXD_RSSTYPE_MASK;
406 skb_set_hash(skb, le32_to_cpu(rx_desc->d.rss),
412 union fm10k_rx_desc __maybe_unused *rx_desc,
442 * @rx_desc: pointer to the EOP Rx descriptor
450 union fm10k_rx_desc *rx_desc,
455 fm10k_rx_hash(rx_ring, rx_desc, skb);
457 fm10k_rx_checksum(rx_ring, rx_desc, skb);
459 FM10K_CB(skb)->tstamp = rx_desc->q.timestamp;
461 FM10K_CB(skb)->fi.w.vlan = rx_desc->w.vlan;
463 FM10K_CB(skb)->fi.d.glort = rx_desc->d.glort;
465 if (rx_desc->w.vlan) {
466 u16 vid = le16_to_cpu(rx_desc->w.vlan);
475 fm10k_type_trans(rx_ring, rx_desc, skb);
483 * @rx_desc: Rx descriptor for current buffer
491 union fm10k_rx_desc *rx_desc)
501 if (likely(fm10k_test_staterr(rx_desc, FM10K_RXD_STATUS_EOP)))
510 * @rx_desc: pointer to the EOP Rx descriptor
522 union fm10k_rx_desc *rx_desc,
525 if (unlikely((fm10k_test_staterr(rx_desc,
529 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_SWITCH_ERROR))
531 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_NO_DESCRIPTOR))
533 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_PP_ERROR))
535 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_SWITCH_READY))
537 if (FM10K_TEST_RXD_BIT(rx_desc, FM10K_RXD_ERR_TOO_BIG))
571 union fm10k_rx_desc *rx_desc;
579 rx_desc = FM10K_RX_DESC(rx_ring, rx_ring->next_to_clean);
581 if (!rx_desc->d.staterr)
585 * any other fields out of the rx_desc until we know the
591 skb = fm10k_fetch_rx_buffer(rx_ring, rx_desc, skb);
600 if (fm10k_is_non_eop(rx_ring, rx_desc))
604 if (fm10k_cleanup_headers(rx_ring, rx_desc, skb)) {
610 total_bytes += fm10k_process_skb_fields(rx_ring, rx_desc, skb);