i40e_ring
struct i40e_ring **rx_rings;
struct i40e_ring **tx_rings;
struct i40e_ring **xdp_rings; /* XDP Tx rings */
struct i40e_ring *rx_ring = READ_ONCE(vsi->rx_rings[i]);
struct i40e_ring *tx_ring = READ_ONCE(vsi->tx_rings[i]);
struct i40e_ring *xdp_ring = READ_ONCE(vsi->xdp_rings[i]);
struct i40e_ring *ring;
i40e_add_queue_stats(u64 **data, struct i40e_ring *ring)
struct i40e_ring *tx_rings = NULL, *rx_rings = NULL;
tx_rings = kzalloc_objs(struct i40e_ring, tx_alloc_queue_pairs);
rx_rings = kzalloc_objs(struct i40e_ring,
struct i40e_ring *rx_ring, *tx_ring;
struct i40e_ring *rx_ring = vsi->rx_rings[queue];
struct i40e_ring *tx_ring = vsi->tx_rings[queue];
I40E_STAT(struct i40e_ring, _name, _stat)
struct i40e_ring **next_rings;
size = sizeof(struct i40e_ring *) * vsi->alloc_queue_pairs *
struct i40e_ring *ring;
ring = kzalloc_objs(struct i40e_ring, qpv);
struct i40e_ring *rxr = vsi->rx_rings[queue_pair];
struct i40e_ring *rxr = vsi->rx_rings[queue_pair];
struct i40e_ring *rxr = vsi->rx_rings[queue_pair];
static void i40e_config_xps_tx_ring(struct i40e_ring *ring)
static struct xsk_buff_pool *i40e_xsk_pool(struct i40e_ring *ring)
static int i40e_configure_tx_ring(struct i40e_ring *ring)
static unsigned int i40e_rx_offset(struct i40e_ring *rx_ring)
static int i40e_configure_rx_ring(struct i40e_ring *ring)
struct i40e_ring *tx_ring = NULL;
struct i40e_ring *tx_ring, *rx_ring;
static bool i40e_clean_fdir_tx_irq(struct i40e_ring *tx_ring, int budget)
static void i40e_get_netdev_stats_struct_tx(struct i40e_ring *ring,
struct i40e_ring *tx_ring = vsi->tx_rings[qp_idx];
struct i40e_ring *rx_ring = vsi->rx_rings[qp_idx];
struct i40e_ring *xdp_ring = vsi->xdp_rings[qp_idx];
struct i40e_ring *ring;
struct i40e_ring *ring;
struct i40e_ring *tx_ring, *rx_ring;
struct i40e_ring *tx_ring, *rx_ring;
struct i40e_ring *tx_ring, *rx_ring;
struct i40e_ring *tx_ring, *rx_ring;
struct i40e_ring *rx_ring;
struct i40e_ring *p;
TP_PROTO(struct i40e_ring *ring,
TP_PROTO(struct i40e_ring *ring,
TP_PROTO(struct i40e_ring *ring,
TP_PROTO(struct i40e_ring *ring,
TP_PROTO(struct i40e_ring *ring,
TP_PROTO(struct i40e_ring *ring,
struct i40e_ring *ring),
struct i40e_ring *ring),
struct i40e_ring *ring),
static struct i40e_rx_buffer *i40e_rx_bi(struct i40e_ring *rx_ring, u32 idx)
static void i40e_reuse_rx_page(struct i40e_ring *rx_ring,
void i40e_clean_programming_status(struct i40e_ring *rx_ring, u64 qword0_raw,
int i40e_setup_tx_descriptors(struct i40e_ring *tx_ring)
static void i40e_clear_rx_bi(struct i40e_ring *rx_ring)
void i40e_clean_rx_ring(struct i40e_ring *rx_ring)
void i40e_free_rx_resources(struct i40e_ring *rx_ring)
int i40e_setup_rx_descriptors(struct i40e_ring *rx_ring)
void i40e_release_rx_desc(struct i40e_ring *rx_ring, u32 val)
static unsigned int i40e_rx_frame_truesize(struct i40e_ring *rx_ring,
static bool i40e_alloc_mapped_page(struct i40e_ring *rx_ring,
bool i40e_alloc_rx_buffers(struct i40e_ring *rx_ring, u16 cleaned_count)
static inline void i40e_rx_hash(struct i40e_ring *ring,
void i40e_process_skb_fields(struct i40e_ring *rx_ring,
static bool i40e_cleanup_headers(struct i40e_ring *rx_ring, struct sk_buff *skb,
static struct i40e_rx_buffer *i40e_get_rx_buffer(struct i40e_ring *rx_ring,
static void i40e_put_rx_buffer(struct i40e_ring *rx_ring,
static void i40e_process_rx_buffs(struct i40e_ring *rx_ring, int xdp_res,
static struct sk_buff *i40e_construct_skb(struct i40e_ring *rx_ring,
static struct sk_buff *i40e_build_skb(struct i40e_ring *rx_ring,
bool i40e_is_non_eop(struct i40e_ring *rx_ring,
struct i40e_ring *xdp_ring);
int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring)
static int i40e_run_xdp(struct i40e_ring *rx_ring, struct xdp_buff *xdp, struct bpf_prog *xdp_prog)
struct i40e_ring *xdp_ring;
static void i40e_fdir(struct i40e_ring *tx_ring,
void i40e_xdp_ring_update_tail(struct i40e_ring *xdp_ring)
void i40e_update_rx_stats(struct i40e_ring *rx_ring,
void i40e_finalize_xdp_rx(struct i40e_ring *rx_ring, unsigned int xdp_res)
struct i40e_ring *xdp_ring =
static void i40e_inc_ntp(struct i40e_ring *rx_ring)
static void i40e_consume_xdp_buff(struct i40e_ring *rx_ring,
static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget,
struct i40e_ring *ring;
static void i40e_atr(struct i40e_ring *tx_ring, struct sk_buff *skb,
struct i40e_ring *tx_ring,
static int i40e_tsyn(struct i40e_ring *tx_ring, struct sk_buff *skb,
struct i40e_ring *tx_ring,
static void i40e_create_tx_ctx(struct i40e_ring *tx_ring,
int __i40e_maybe_stop_tx(struct i40e_ring *tx_ring, int size)
static inline int i40e_tx_map(struct i40e_ring *tx_ring, struct sk_buff *skb,
struct i40e_ring *xdp_ring)
struct i40e_ring *tx_ring)
struct i40e_ring *tx_ring = vsi->tx_rings[skb->queue_mapping];
struct i40e_ring *xdp_ring;
static void i40e_fd_handle_status(struct i40e_ring *rx_ring, u64 qword0_raw,
static void i40e_unmap_and_free_tx_resource(struct i40e_ring *ring,
void i40e_clean_tx_ring(struct i40e_ring *tx_ring)
void i40e_free_tx_resources(struct i40e_ring *tx_ring)
u32 i40e_get_tx_pending(struct i40e_ring *ring, bool in_sw)
struct i40e_ring *tx_ring = NULL;
struct i40e_ring *tx_ring;
struct i40e_ring *tx_ring, int napi_budget,
struct i40e_ring *next; /* pointer to next ring in q_vector */
static inline bool ring_uses_build_skb(struct i40e_ring *ring)
static inline void set_ring_build_skb_enabled(struct i40e_ring *ring)
static inline void clear_ring_build_skb_enabled(struct i40e_ring *ring)
static inline bool ring_is_xdp(struct i40e_ring *ring)
static inline void set_ring_xdp(struct i40e_ring *ring)
struct i40e_ring *ring; /* pointer to linked list of ring(s) */
static inline unsigned int i40e_rx_pg_order(struct i40e_ring *ring)
bool i40e_alloc_rx_buffers(struct i40e_ring *rxr, u16 cleaned_count);
void i40e_clean_tx_ring(struct i40e_ring *tx_ring);
void i40e_clean_rx_ring(struct i40e_ring *rx_ring);
int i40e_setup_tx_descriptors(struct i40e_ring *tx_ring);
int i40e_setup_rx_descriptors(struct i40e_ring *rx_ring);
void i40e_free_tx_resources(struct i40e_ring *tx_ring);
void i40e_free_rx_resources(struct i40e_ring *rx_ring);
u32 i40e_get_tx_pending(struct i40e_ring *ring, bool in_sw);
int __i40e_maybe_stop_tx(struct i40e_ring *tx_ring, int size);
bool i40e_is_non_eop(struct i40e_ring *rx_ring,
static inline u32 i40e_get_head(struct i40e_ring *tx_ring)
static inline int i40e_maybe_stop_tx(struct i40e_ring *tx_ring, int size)
static inline struct netdev_queue *txring_txq(const struct i40e_ring *ring)
void i40e_clean_programming_status(struct i40e_ring *rx_ring, u64 qword0_raw,
void i40e_xsk_clean_rx_ring(struct i40e_ring *rx_ring);
void i40e_xsk_clean_tx_ring(struct i40e_ring *tx_ring);
void i40e_process_skb_fields(struct i40e_ring *rx_ring,
void i40e_xdp_ring_update_tail(struct i40e_ring *xdp_ring);
void i40e_update_rx_stats(struct i40e_ring *rx_ring,
void i40e_finalize_xdp_rx(struct i40e_ring *rx_ring, unsigned int xdp_res);
void i40e_release_rx_desc(struct i40e_ring *rx_ring, u32 val);
static inline void i40e_update_tx_stats(struct i40e_ring *tx_ring,
static inline void i40e_arm_wb(struct i40e_ring *tx_ring,
int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring);
void i40e_clear_rx_bi_zc(struct i40e_ring *rx_ring)
static struct xdp_buff **i40e_rx_bi(struct i40e_ring *rx_ring, u32 idx)
static int i40e_run_xdp_zc(struct i40e_ring *rx_ring, struct xdp_buff *xdp,
struct i40e_ring *xdp_ring;
bool i40e_alloc_rx_buffers_zc(struct i40e_ring *rx_ring, u16 count)
static struct sk_buff *i40e_construct_skb_zc(struct i40e_ring *rx_ring,
static int i40e_realloc_rx_xdp_bi(struct i40e_ring *rx_ring, bool pool_present)
static void i40e_handle_xdp_result_zc(struct i40e_ring *rx_ring,
int i40e_clean_rx_irq_zc(struct i40e_ring *rx_ring, int budget)
static void i40e_xmit_pkt(struct i40e_ring *xdp_ring, struct xdp_desc *desc,
static void i40e_xmit_pkt_batch(struct i40e_ring *xdp_ring, struct xdp_desc *desc,
static void i40e_fill_tx_hw_ring(struct i40e_ring *xdp_ring, struct xdp_desc *descs, u32 nb_pkts,
static void i40e_set_rs_bit(struct i40e_ring *xdp_ring)
static bool i40e_xmit_zc(struct i40e_ring *xdp_ring, unsigned int budget)
static void i40e_clean_xdp_tx_buffer(struct i40e_ring *tx_ring,
struct i40e_ring *rx_ring;
bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi, struct i40e_ring *tx_ring)
struct i40e_ring *ring;
void i40e_xsk_clean_rx_ring(struct i40e_ring *rx_ring)
void i40e_xsk_clean_tx_ring(struct i40e_ring *tx_ring)
struct i40e_ring;
bool i40e_alloc_rx_buffers_zc(struct i40e_ring *rx_ring, u16 cleaned_count);
int i40e_clean_rx_irq_zc(struct i40e_ring *rx_ring, int budget);
bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi, struct i40e_ring *tx_ring);
void i40e_clear_rx_bi_zc(struct i40e_ring *rx_ring);