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);
99 rx_buf->len, efx->rx_buffer_truesize);
108 __free_pages(rx_buf->page, efx->rx_buffer_order);
114 skb->protocol = eth_type_trans(skb, efx->net_dev);
124 struct efx_nic *efx = rx_queue->efx;
138 unlikely(len <= (n_frags - 1) * efx->rx_dma_len) ||
139 unlikely(len > n_frags * efx->rx_dma_len) ||
140 unlikely(!efx->rx_scatter)) {
148 netif_vdbg(efx, rx_status, efx->net_dev,
170 efx_sync_rx_buffer(efx, rx_buf, rx_buf->len);
177 rx_buf->page_offset += efx->rx_prefix_size;
178 rx_buf->len -= efx->rx_prefix_size;
190 efx_sync_rx_buffer(efx, rx_buf, efx->rx_dma_len);
192 rx_buf->len = len - (n_frags - 1) * efx->rx_dma_len;
193 efx_sync_rx_buffer(efx, rx_buf, rx_buf->len);
251 static bool efx_do_xdp(struct efx_nic *efx, struct efx_channel *channel,
263 xdp_prog = rcu_dereference_bh(efx->xdp_prog);
274 netif_err(efx, rx_err, efx->net_dev,
281 dma_sync_single_for_cpu(&efx->pci_dev->dev, rx_buf->dma_addr,
285 EFX_WARN_ON_PARANOID(efx->rx_prefix_size > EFX_MAX_RX_PREFIX_SIZE);
286 memcpy(rx_prefix, *ehp - efx->rx_prefix_size,
287 efx->rx_prefix_size);
289 xdp_init_buff(&xdp, efx->rx_page_buf_step, &rx_queue->xdp_rxq_info);
305 memcpy(*ehp - efx->rx_prefix_size, rx_prefix,
306 efx->rx_prefix_size);
313 err = efx_siena_xdp_tx_buffers(efx, 1, &xdpf, true);
317 netif_err(efx, rx_err, efx->net_dev,
320 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act);
327 err = xdp_do_redirect(efx->net_dev, &xdp, xdp_prog);
331 netif_err(efx, rx_err, efx->net_dev,
334 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act);
341 bpf_warn_invalid_xdp_action(efx->net_dev, xdp_prog, xdp_act);
344 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act);
348 trace_xdp_exception(efx->net_dev, xdp_prog, xdp_act);
362 struct efx_nic *efx = channel->efx;
372 (eh + efx->rx_packet_len_offset));
377 if (unlikely(efx->loopback_selftest)) {
380 efx_siena_loopback_rx_packet(efx, eh, rx_buf->len);
387 if (!efx_do_xdp(efx, channel, rx_buf, &eh))
390 if (unlikely(!(efx->net_dev->features & NETIF_F_RXCSUM)))