gve_rx_ring
void gve_rx_write_doorbell(struct gve_priv *priv, struct gve_rx_ring *rx);
bool gve_rx_work_pending(struct gve_rx_ring *rx);
struct gve_rx_ring *rx,
void gve_rx_free_ring_gqi(struct gve_priv *priv, struct gve_rx_ring *rx,
struct gve_rx_buf_state_dqo *gve_alloc_buf_state(struct gve_rx_ring *rx);
bool gve_buf_state_is_allocated(struct gve_rx_ring *rx,
void gve_free_buf_state(struct gve_rx_ring *rx,
struct gve_rx_buf_state_dqo *gve_dequeue_buf_state(struct gve_rx_ring *rx,
void gve_enqueue_buf_state(struct gve_rx_ring *rx, struct gve_index_list *list,
struct gve_rx_buf_state_dqo *gve_get_recycled_buf_state(struct gve_rx_ring *rx);
void gve_try_recycle_buf(struct gve_priv *priv, struct gve_rx_ring *rx,
void gve_free_to_page_pool(struct gve_rx_ring *rx,
int gve_alloc_qpl_page_dqo(struct gve_rx_ring *rx,
void gve_reuse_buffer(struct gve_rx_ring *rx,
void gve_free_buffer(struct gve_rx_ring *rx,
int gve_alloc_buffer(struct gve_rx_ring *rx, struct gve_rx_desc_dqo *desc);
struct gve_rx_ring *rx,
struct gve_rx_ring *rx; /* rx rings on this block */
struct gve_rx_ring *rx;
struct gve_rx_ring *rx; /* array of rx_cfg.num_queues */
struct gve_rx_ring *rx = &priv->rx[queue_index];
int gve_alloc_qpl_page_dqo(struct gve_rx_ring *rx,
struct gve_rx_buf_state_dqo *gve_alloc_buf_state(struct gve_rx_ring *rx)
void gve_try_recycle_buf(struct gve_priv *priv, struct gve_rx_ring *rx,
void gve_free_to_page_pool(struct gve_rx_ring *rx,
static int gve_alloc_from_page_pool(struct gve_rx_ring *rx,
struct gve_rx_ring *rx,
void gve_free_buffer(struct gve_rx_ring *rx,
void gve_reuse_buffer(struct gve_rx_ring *rx,
int gve_alloc_buffer(struct gve_rx_ring *rx, struct gve_rx_desc_dqo *desc)
bool gve_buf_state_is_allocated(struct gve_rx_ring *rx,
void gve_free_buf_state(struct gve_rx_ring *rx,
struct gve_rx_buf_state_dqo *gve_dequeue_buf_state(struct gve_rx_ring *rx,
void gve_enqueue_buf_state(struct gve_rx_ring *rx, struct gve_index_list *list,
struct gve_rx_buf_state_dqo *gve_get_recycled_buf_state(struct gve_rx_ring *rx)
struct gve_rx_ring *rx,
void gve_rx_free_ring_dqo(struct gve_priv *priv, struct gve_rx_ring *rx,
void gve_rx_post_buffers_dqo(struct gve_rx_ring *rx);
struct gve_rx_ring *rx = &priv->rx[ring];
struct gve_rx_ring *rx = &priv->rx[ring];
struct gve_rx_ring *rx;
struct gve_rx_ring *rx;
struct gve_rx_ring *rx = &priv->rx[i];
struct gve_rx_ring *rx;
struct gve_rx_ring *gve_per_q_mem;
gve_per_q_mem = (struct gve_rx_ring *)per_q_mem;
struct gve_rx_ring *gve_per_q_mem;
gve_per_q_mem = (struct gve_rx_ring *)per_q_mem;
struct gve_rx_ring *gve_per_q_mem;
gve_per_q_mem = (struct gve_rx_ring *)per_q_mem;
struct gve_rx_ring *gve_per_q_mem;
gve_per_q_mem = (struct gve_rx_ring *)per_q_mem;
.ndo_queue_mem_size = sizeof(struct gve_rx_ring),
struct gve_rx_ring *rx = &priv->rx[idx];
struct gve_rx_ring *rx = &priv->rx[idx];
static int gve_clean_rx_done(struct gve_rx_ring *rx, int budget,
void gve_rx_free_ring_gqi(struct gve_priv *priv, struct gve_rx_ring *rx,
struct gve_rx_ring *rx = block->rx;
static void gve_setup_rx_buffer(struct gve_rx_ring *rx,
struct gve_rx_ring *rx)
static int gve_rx_prefill_pages(struct gve_rx_ring *rx,
struct gve_rx_ring *rx,
struct gve_rx_ring *rx,
struct gve_rx_ring *rx;
rx = kvzalloc_objs(struct gve_rx_ring, cfg->qcfg_rx->max_queues);
struct gve_rx_ring *rx = cfg->rx;
void gve_rx_write_doorbell(struct gve_priv *priv, struct gve_rx_ring *rx)
static struct sk_buff *gve_rx_copy_to_pool(struct gve_rx_ring *rx,
struct gve_rx_ring *rx, struct gve_rx_slot_page_info *page_info,
static void gve_rx_init_ring_state_gqi(struct gve_rx_ring *rx)
static struct sk_buff *gve_rx_skb(struct gve_priv *priv, struct gve_rx_ring *rx,
struct gve_rx_ring *rx,
static int gve_xdp_redirect(struct net_device *dev, struct gve_rx_ring *rx,
struct gve_rx_ring *rx = &priv->rx[idx];
static void gve_xdp_done(struct gve_priv *priv, struct gve_rx_ring *rx,
static void gve_rx(struct gve_rx_ring *rx, netdev_features_t feat,
bool gve_rx_work_pending(struct gve_rx_ring *rx)
static bool gve_rx_refill_buffers(struct gve_priv *priv, struct gve_rx_ring *rx)
struct gve_rx_ring *rx;
struct gve_rx_ring *rx = &priv->rx[idx];
void gve_rx_free_ring_dqo(struct gve_priv *priv, struct gve_rx_ring *rx,
static int gve_rx_alloc_hdr_bufs(struct gve_priv *priv, struct gve_rx_ring *rx,
static void gve_rx_free_hdr_bufs(struct gve_priv *priv, struct gve_rx_ring *rx)
struct gve_rx_ring *rx,
const struct gve_rx_ring *rx = &priv->rx[queue_idx];
struct gve_rx_ring *rx;
rx = kvzalloc_objs(struct gve_rx_ring, cfg->qcfg_rx->max_queues);
static void gve_rx_init_ring_state_dqo(struct gve_rx_ring *rx,
struct gve_rx_ring *rx = cfg->rx;
void gve_rx_post_buffers_dqo(struct gve_rx_ring *rx)
static void gve_rx_skb_hwtstamp(struct gve_rx_ring *rx,
static void gve_rx_free_skb(struct napi_struct *napi, struct gve_rx_ring *rx)
static bool gve_rx_should_trigger_copy_ondemand(struct gve_rx_ring *rx)
static int gve_rx_copy_ondemand(struct gve_rx_ring *rx,
static void gve_skb_add_rx_frag(struct gve_rx_ring *rx,
u16 buf_len, struct gve_rx_ring *rx,
static int gve_xdp_tx_dqo(struct gve_priv *priv, struct gve_rx_ring *rx,
static void gve_xsk_done_dqo(struct gve_priv *priv, struct gve_rx_ring *rx,
static void gve_xdp_done_dqo(struct gve_priv *priv, struct gve_rx_ring *rx,
struct gve_rx_ring *rx = &priv->rx[idx];
static int gve_rx_xsk_dqo(struct napi_struct *napi, struct gve_rx_ring *rx,
static void gve_dma_sync(struct gve_priv *priv, struct gve_rx_ring *rx,
static int gve_rx_dqo(struct napi_struct *napi, struct gve_rx_ring *rx,
static int gve_rx_complete_skb(struct gve_rx_ring *rx, struct napi_struct *napi,
struct gve_rx_ring *rx = rx_block->rx;
struct gve_rx_ring *rx = rx_block->rx;
struct gve_rx_ring *rx = &priv->rx[queue_idx];