| H A D | gve_tx_dqo.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 * Copyright (C) 2015-2021 Google, Inc. 19 static bool gve_has_free_tx_qpl_bufs(struct gve_tx_ring *tx, int count) in gve_has_free_tx_qpl_bufs() argument 23 if (!tx->dqo.qpl) in gve_has_free_tx_qpl_bufs() 26 num_avail = tx->dqo.num_tx_qpl_bufs - in gve_has_free_tx_qpl_bufs() 45 gve_alloc_tx_qpl_buf(struct gve_tx_ring * tx) gve_alloc_tx_qpl_buf() argument 70 gve_free_tx_qpl_bufs(struct gve_tx_ring * tx,struct gve_tx_pending_packet_dqo * pkt) gve_free_tx_qpl_bufs() argument 71 gve_free_tx_qpl_bufs(struct gve_tx_ring * tx,struct gve_tx_pending_packet_dqo * pkt) gve_free_tx_qpl_bufs() argument 102 gve_has_pending_packet(struct gve_tx_ring * tx) gve_has_pending_packet() argument 118 struct gve_tx_ring *tx = &priv->tx[tx_qid]; gve_xdp_tx_flush_dqo() local 124 gve_alloc_pending_packet(struct gve_tx_ring * tx) gve_alloc_pending_packet() argument 153 gve_free_pending_packet(struct gve_tx_ring * tx,struct gve_tx_pending_packet_dqo * pending_packet) gve_free_pending_packet() argument 172 gve_tx_clean_pending_packets(struct gve_tx_ring * tx) gve_tx_clean_pending_packets() argument 204 struct gve_tx_ring *tx = &priv->tx[idx]; gve_tx_stop_ring_dqo() local 217 gve_tx_free_ring_dqo(struct gve_priv * priv,struct gve_tx_ring * tx,struct gve_tx_alloc_rings_cfg * cfg) gve_tx_free_ring_dqo() argument 263 gve_tx_qpl_buf_init(struct gve_tx_ring * tx) gve_tx_qpl_buf_init() argument 289 struct gve_tx_ring *tx = &priv->tx[idx]; gve_tx_start_ring_dqo() local 300 gve_tx_alloc_ring_dqo(struct gve_priv * priv,struct gve_tx_alloc_rings_cfg * cfg,struct gve_tx_ring * tx,int idx) gve_tx_alloc_ring_dqo() argument 408 struct gve_tx_ring *tx = cfg->tx; gve_tx_alloc_rings_dqo() local 448 struct gve_tx_ring *tx = cfg->tx; gve_tx_free_rings_dqo() local 462 num_avail_tx_slots(const struct gve_tx_ring * tx) num_avail_tx_slots() argument 470 gve_has_tx_slots_available(struct gve_tx_ring * tx,u32 slots_req) gve_has_tx_slots_available() argument 485 gve_has_avail_slots_tx_dqo(struct gve_tx_ring * tx,int desc_count,int buf_count) gve_has_avail_slots_tx_dqo() argument 496 gve_maybe_stop_tx_dqo(struct gve_tx_ring * tx,int desc_count,int buf_count) gve_maybe_stop_tx_dqo() argument 537 gve_tx_fill_pkt_desc_dqo(struct gve_tx_ring * tx,u32 * desc_idx,bool enable_csum,u32 len,u64 addr,s16 compl_tag,bool eop,bool is_gso) gve_tx_fill_pkt_desc_dqo() argument 648 gve_tx_update_tail(struct gve_tx_ring * tx,u32 desc_idx) gve_tx_update_tail() argument 667 gve_tx_add_skb_no_copy_dqo(struct gve_tx_ring * tx,struct sk_buff * skb,struct gve_tx_pending_packet_dqo * pkt,s16 completion_tag,u32 * desc_idx,bool is_gso) gve_tx_add_skb_no_copy_dqo() argument 669 gve_tx_add_skb_no_copy_dqo(struct gve_tx_ring * tx,struct sk_buff * skb,struct gve_tx_pending_packet_dqo * pkt,s16 completion_tag,u32 * desc_idx,bool is_gso) gve_tx_add_skb_no_copy_dqo() argument 747 gve_tx_buf_get_addr(struct gve_tx_ring * tx,s16 index,void ** va,dma_addr_t * dma_addr) gve_tx_buf_get_addr() argument 758 gve_tx_add_skb_copy_dqo(struct gve_tx_ring * tx,struct sk_buff * skb,struct gve_tx_pending_packet_dqo * pkt,s16 completion_tag,u32 * desc_idx,bool is_gso) gve_tx_add_skb_copy_dqo() argument 760 gve_tx_add_skb_copy_dqo(struct gve_tx_ring * tx,struct sk_buff * skb,struct gve_tx_pending_packet_dqo * pkt,s16 completion_tag,u32 * desc_idx,bool is_gso) gve_tx_add_skb_copy_dqo() argument 811 gve_tx_add_skb_dqo(struct gve_tx_ring * tx,struct sk_buff * skb) gve_tx_add_skb_dqo() argument 816 struct gve_tx_pending_packet_dqo *pkt; gve_tx_add_skb_dqo() local 960 gve_try_tx_skb(struct gve_priv * priv,struct gve_tx_ring * tx,struct sk_buff * skb) gve_try_tx_skb() argument 1010 gve_xsk_reorder_queue_push_dqo(struct gve_tx_ring * tx,u16 completion_tag) gve_xsk_reorder_queue_push_dqo() argument 1021 gve_xsk_reorder_queue_head(struct gve_tx_ring * tx) gve_xsk_reorder_queue_head() argument 1036 gve_xsk_reorder_queue_pop_dqo(struct gve_tx_ring * tx) gve_xsk_reorder_queue_pop_dqo() argument 1046 struct gve_tx_ring *tx; gve_tx_dqo() local 1065 gve_xsk_tx_dqo(struct gve_priv * priv,struct gve_tx_ring * tx,int budget) gve_xsk_tx_dqo() argument 1075 struct gve_tx_pending_packet_dqo *pkt; gve_xsk_tx_dqo() local 1121 add_to_list(struct gve_tx_ring * tx,struct gve_index_list * list,struct gve_tx_pending_packet_dqo * pending_packet) add_to_list() argument 1138 remove_from_list(struct gve_tx_ring * tx,struct gve_index_list * list,struct gve_tx_pending_packet_dqo * pkt) remove_from_list() argument 1140 remove_from_list(struct gve_tx_ring * tx,struct gve_index_list * list,struct gve_tx_pending_packet_dqo * pkt) remove_from_list() argument 1162 gve_unmap_packet(struct device * dev,struct gve_tx_pending_packet_dqo * pkt) gve_unmap_packet() argument 1184 gve_handle_packet_completion(struct gve_priv * priv,struct gve_tx_ring * tx,bool is_napi,u16 compl_tag,u64 * bytes,u64 * pkts,bool is_reinjection) gve_handle_packet_completion() argument 1267 gve_handle_miss_completion(struct gve_priv * priv,struct gve_tx_ring * tx,u16 compl_tag,u64 * bytes,u64 * pkts) gve_handle_miss_completion() argument 1299 remove_miss_completions(struct gve_priv * priv,struct gve_tx_ring * tx) remove_miss_completions() argument 1345 remove_timed_out_completions(struct gve_priv * priv,struct gve_tx_ring * tx) remove_timed_out_completions() argument 1369 gve_tx_process_xsk_completions(struct gve_tx_ring * tx) gve_tx_process_xsk_completions() argument 1390 gve_clean_tx_done_dqo(struct gve_priv * priv,struct gve_tx_ring * tx,struct napi_struct * napi) gve_clean_tx_done_dqo() argument 1481 struct gve_tx_ring *tx = block->tx; gve_tx_poll_dqo() local 1507 struct gve_tx_ring *tx; gve_xsk_tx_poll_dqo() local 1519 struct gve_tx_ring *tx = block->tx; gve_xdp_poll_dqo() local 1529 gve_xdp_xmit_one_dqo(struct gve_priv * priv,struct gve_tx_ring * tx,struct xdp_frame * xdpf) gve_xdp_xmit_one_dqo() argument 1532 struct gve_tx_pending_packet_dqo *pkt; gve_xdp_xmit_one_dqo() local 1580 struct gve_tx_ring *tx; gve_xdp_xmit_dqo() local [all...] |
| H A D | gve_tx.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 * Copyright (C) 2015-2021 Google, Inc. 20 iowrite32be(val, &priv->db_bar2[be32_to_cpu(q_resources->db_index)]); in gve_tx_put_doorbell() 26 struct gve_tx_ring *tx = &priv->tx[tx_qid]; in gve_xdp_tx_flush() local 28 gve_tx_put_doorbell(priv, tx in gve_xdp_tx_flush() 157 gve_clean_xdp_done(struct gve_priv * priv,struct gve_tx_ring * tx,u32 to_do) gve_clean_xdp_done() argument 203 struct gve_tx_ring *tx = &priv->tx[idx]; gve_tx_stop_ring_gqi() local 217 gve_tx_free_ring_gqi(struct gve_priv * priv,struct gve_tx_ring * tx,struct gve_tx_alloc_rings_cfg * cfg) gve_tx_free_ring_gqi() argument 253 struct gve_tx_ring *tx = &priv->tx[idx]; gve_tx_start_ring_gqi() local 263 gve_tx_alloc_ring_gqi(struct gve_priv * priv,struct gve_tx_alloc_rings_cfg * cfg,struct gve_tx_ring * tx,int idx) gve_tx_alloc_ring_gqi() argument 336 struct gve_tx_ring *tx = cfg->tx; gve_tx_alloc_rings_gqi() local 376 struct gve_tx_ring *tx = cfg->tx; gve_tx_free_rings_gqi() local 396 gve_tx_avail(struct gve_tx_ring * tx) gve_tx_avail() argument 401 gve_skb_fifo_bytes_required(struct gve_tx_ring * tx,struct sk_buff * skb) gve_skb_fifo_bytes_required() argument 446 gve_can_tx(struct gve_tx_ring * tx,int bytes_required) gve_can_tx() argument 459 gve_maybe_stop_tx(struct gve_priv * priv,struct gve_tx_ring * tx,struct sk_buff * skb) gve_maybe_stop_tx() argument 562 gve_tx_add_skb_copy(struct gve_priv * priv,struct gve_tx_ring * tx,struct sk_buff * skb) gve_tx_add_skb_copy() argument 636 gve_tx_add_skb_no_copy(struct gve_priv * priv,struct gve_tx_ring * tx,struct sk_buff * skb) gve_tx_add_skb_no_copy() argument 740 struct gve_tx_ring *tx; gve_tx() local 779 gve_tx_fill_xdp(struct gve_priv * priv,struct gve_tx_ring * tx,void * data,int len,void * frame_p,bool is_xsk) gve_tx_fill_xdp() argument 830 struct gve_tx_ring *tx; gve_xdp_xmit_gqi() local 865 gve_xdp_xmit_one(struct gve_priv * priv,struct gve_tx_ring * tx,void * data,int len,void * frame_p) gve_xdp_xmit_one() argument 881 gve_clean_tx_done(struct gve_priv * priv,struct gve_tx_ring * tx,u32 to_do,bool try_to_wake) gve_clean_tx_done() argument 938 gve_tx_load_event_counter(struct gve_priv * priv,struct gve_tx_ring * tx) gve_tx_load_event_counter() argument 946 gve_xsk_tx(struct gve_priv * priv,struct gve_tx_ring * tx,int budget) gve_xsk_tx() argument 977 struct gve_tx_ring *tx; gve_xsk_tx_poll() local 997 struct gve_tx_ring *tx = block->tx; gve_xdp_poll() local 1013 struct gve_tx_ring *tx = block->tx; gve_tx_poll() local 1035 gve_tx_clean_pending(struct gve_priv * priv,struct gve_tx_ring * tx) gve_tx_clean_pending() argument [all...] |