Lines Matching defs:efx

23 #include "efx.h"
47 struct efx_nic *efx = rx_queue->efx;
48 unsigned max_len = rx_buf->len - efx->type->rx_buffer_padding;
59 netif_err(efx, rx_err, efx->net_dev,
72 struct efx_nic *efx = channel->efx;
76 skb = netdev_alloc_skb(efx->net_dev,
77 efx->rx_ip_align + efx->rx_prefix_size +
80 atomic_inc(&efx->n_rx_noskb_drops);
86 memcpy(skb->data + efx->rx_ip_align, eh - efx->rx_prefix_size,
87 efx->rx_prefix_size + hdr_len);
88 skb_reserve(skb, efx->rx_ip_align + efx->rx_prefix_size);
109 __free_pages(rx_buf->page, efx->rx_buffer_order);
114 skb->truesize += n_frags * efx->rx_buffer_truesize;
117 skb->protocol = eth_type_trans(skb, efx->net_dev);
127 struct efx_nic *efx = rx_queue->efx;
141 unlikely(len <= (n_frags - 1) * efx->rx_dma_len) ||
142 unlikely(len > n_frags * efx->rx_dma_len) ||
143 unlikely(!efx->rx_scatter)) {
151 netif_vdbg(efx, rx_status, efx->net_dev,
173 efx_sync_rx_buffer(efx, rx_buf, rx_buf->len);
180 rx_buf->page_offset += efx->rx_prefix_size;
181 rx_buf->len -= efx->rx_prefix_size;
193 efx_sync_rx_buffer(efx, rx_buf, efx->rx_dma_len);
195 rx_buf->len = len - (n_frags - 1) * efx->rx_dma_len;
196 efx_sync_rx_buffer(efx, rx_buf, rx_buf->len);
254 static bool efx_do_xdp(struct efx_nic *efx, struct efx_channel *channel,
267 xdp_prog = rcu_dereference(efx->xdp_prog);
281 netif_err(efx, rx_err, efx->net_dev,
288 dma_sync_single_for_cpu(&efx->pci_dev->dev, rx_buf->dma_addr,
292 EFX_WARN_ON_PARANOID(efx->rx_prefix_size > EFX_MAX_RX_PREFIX_SIZE);
293 memcpy(rx_prefix, *ehp - efx->rx_prefix_size,
294 efx->rx_prefix_size);
303 xdp.frame_sz = efx->rx_page_buf_step;
317 memcpy(*ehp - efx->rx_prefix_size, rx_prefix,
318 efx->rx_prefix_size);
325 err = efx_xdp_tx_buffers(efx, 1, &xdpf, true);
329 netif_err(efx, rx_err, efx->net_dev,
332 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act);
339 err = xdp_do_redirect(efx->net_dev, &xdp, xdp_prog);
343 netif_err(efx, rx_err, efx->net_dev,
346 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act);
356 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act);
360 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act);
374 struct efx_nic *efx = channel->efx;
384 (eh + efx->rx_packet_len_offset));
389 if (unlikely(efx->loopback_selftest)) {
392 efx_loopback_rx_packet(efx, eh, rx_buf->len);
399 if (!efx_do_xdp(efx, channel, rx_buf, &eh))
402 if (unlikely(!(efx->net_dev->features & NETIF_F_RXCSUM)))