mlx5e_txqsq
struct mlx5e_txqsq *sq, int tc, u16 qos_queue_group_id,
void mlx5e_activate_txqsq(struct mlx5e_txqsq *sq);
void mlx5e_deactivate_txqsq(struct mlx5e_txqsq *sq);
void mlx5e_free_txqsq(struct mlx5e_txqsq *sq);
int mlx5e_alloc_txqsq_db(struct mlx5e_txqsq *sq, int numa);
void mlx5e_free_txqsq_db(struct mlx5e_txqsq *sq);
void mlx5e_close_txqsq(struct mlx5e_txqsq *sq);
struct mlx5e_txqsq sq[MLX5_MAX_NUM_TC];
struct mlx5e_txqsq __rcu * __rcu *qos_sqs;
struct mlx5e_txqsq **txq2sq;
struct mlx5e_txqsq;
int mlx5e_dim_tx_change(struct mlx5e_txqsq *sq, bool enabled);
void mlx5e_reporter_tx_err_cqe(struct mlx5e_txqsq *sq);
int mlx5e_reporter_tx_timeout(struct mlx5e_txqsq *sq);
struct mlx5e_txqsq *sq = &ptpsq->txqsq;
struct mlx5e_txqsq *sq, int tc,
struct mlx5e_txqsq *txqsq = &ptpsq->txqsq;
struct mlx5e_txqsq *sq = &ptpsq->txqsq;
struct mlx5e_txqsq *sq = &ptpsq->txqsq;
struct mlx5e_txqsq txqsq;
struct mlx5e_txqsq *sq;
struct mlx5e_txqsq *sq;
struct mlx5e_txqsq __rcu **qos_sqs;
struct mlx5e_txqsq *sq;
struct mlx5e_txqsq __rcu **qos_sqs;
struct mlx5e_txqsq *sq;
struct mlx5e_txqsq **sqs;
sqs = kvzalloc_objs(struct mlx5e_txqsq *, qos_sqs_size);
struct mlx5e_txqsq **sqs;
struct mlx5e_txqsq __rcu **qos_sqs;
struct mlx5e_txqsq *sq;
static struct mlx5e_txqsq *mlx5e_get_qos_sq(struct mlx5e_priv *priv, int qid)
struct mlx5e_txqsq __rcu **qos_sqs;
struct mlx5e_txqsq __rcu **qos_sqs;
struct mlx5e_txqsq *sq;
struct mlx5e_txqsq *icosq = ctx;
struct mlx5e_txqsq *sq;
struct mlx5e_txqsq *sq;
static int mlx5e_wait_for_sq_flush(struct mlx5e_txqsq *sq)
struct mlx5e_txqsq *sq, int tc)
struct mlx5e_txqsq *sq, int tc)
struct mlx5e_txqsq *txqsq)
struct mlx5e_txqsq *generic_sq = priv->txq2sq[0];
struct mlx5e_txqsq *sq = &c->sq[tc];
struct mlx5e_txqsq *sq = ctx;
static void mlx5e_reset_txqsq_cc_pc(struct mlx5e_txqsq *sq)
struct mlx5e_txqsq *sq = &c->sq[tc];
struct mlx5e_txqsq *sq = &ptp_ch->ptpsq[tc].txqsq;
static void mlx5e_health_sq_put_sw_state(struct devlink_fmsg *fmsg, struct mlx5e_txqsq *sq)
void mlx5e_reporter_tx_err_cqe(struct mlx5e_txqsq *sq)
int mlx5e_reporter_tx_timeout(struct mlx5e_txqsq *sq)
struct mlx5e_txqsq *txqsq = &ptpsq->txqsq;
struct mlx5e_txqsq *sq;
void mlx5e_free_txqsq_descs(struct mlx5e_txqsq *sq);
static inline u16 mlx5e_txqsq_get_next_pi(struct mlx5e_txqsq *sq, u16 size)
static inline u16 mlx5e_txqsq_get_next_pi_anysize(struct mlx5e_txqsq *sq,
void mlx5e_txqsq_wake(struct mlx5e_txqsq *sq);
mlx5e_dma_get(struct mlx5e_txqsq *sq, u32 i)
mlx5e_dma_push_single(struct mlx5e_txqsq *sq, dma_addr_t addr, u32 size)
mlx5e_dma_push_netmem(struct mlx5e_txqsq *sq, netmem_ref netmem,
void mlx5e_tx_mpwqe_ensure_complete(struct mlx5e_txqsq *sq);
struct mlx5e_txqsq *sq,
static inline unsigned int mlx5e_accel_tx_ids_len(struct mlx5e_txqsq *sq,
static inline void mlx5e_accel_tx_finish(struct mlx5e_txqsq *sq,
mlx5e_ipsec_txwqe_build_eseg_csum(struct mlx5e_txqsq *sq, struct sk_buff *skb,
mlx5e_ipsec_txwqe_build_eseg_csum(struct mlx5e_txqsq *sq, struct sk_buff *skb,
static void tx_fill_wi(struct mlx5e_txqsq *sq,
post_static_params(struct mlx5e_txqsq *sq,
post_progress_params(struct mlx5e_txqsq *sq,
static void tx_post_fence_nop(struct mlx5e_txqsq *sq)
mlx5e_ktls_tx_post_param_wqes(struct mlx5e_txqsq *sq,
tx_post_resync_params(struct mlx5e_txqsq *sq,
tx_post_resync_dump(struct mlx5e_txqsq *sq, skb_frag_t *frag, u32 tisn)
void mlx5e_ktls_tx_handle_resync_dump_comp(struct mlx5e_txqsq *sq,
struct mlx5e_txqsq *sq,
bool mlx5e_ktls_handle_tx_skb(struct net_device *netdev, struct mlx5e_txqsq *sq,
bool mlx5e_ktls_handle_tx_skb(struct net_device *netdev, struct mlx5e_txqsq *sq,
void mlx5e_ktls_tx_handle_resync_dump_comp(struct mlx5e_txqsq *sq,
mlx5e_ktls_tx_try_handle_resync_dump_comp(struct mlx5e_txqsq *sq,
mlx5e_ktls_tx_try_handle_resync_dump_comp(struct mlx5e_txqsq *sq,
static inline bool mlx5e_psp_txwqe_build_eseg_csum(struct mlx5e_txqsq *sq, struct sk_buff *skb,
static inline bool mlx5e_psp_txwqe_build_eseg_csum(struct mlx5e_txqsq *sq, struct sk_buff *skb,
int mlx5e_dim_tx_change(struct mlx5e_txqsq *sq, bool enable)
struct mlx5e_txqsq *sq = dim->priv;
void mlx5e_free_txqsq_db(struct mlx5e_txqsq *sq)
int mlx5e_alloc_txqsq_db(struct mlx5e_txqsq *sq, int numa)
struct mlx5e_txqsq *sq,
void mlx5e_free_txqsq(struct mlx5e_txqsq *sq)
struct mlx5e_txqsq *sq, u32 rate);
struct mlx5e_txqsq *sq, int tc, u16 qos_queue_group_id,
void mlx5e_activate_txqsq(struct mlx5e_txqsq *sq)
void mlx5e_deactivate_txqsq(struct mlx5e_txqsq *sq)
void mlx5e_close_txqsq(struct mlx5e_txqsq *sq)
struct mlx5e_txqsq *sq = container_of(recover_work, struct mlx5e_txqsq,
struct mlx5e_txqsq *sq, u32 rate)
struct mlx5e_txqsq *sq = priv->txq2sq[index];
struct mlx5e_txqsq *sq = &c->sq[tc];
struct mlx5e_txqsq *sq = &c->ptpsq[tc].txqsq;
struct mlx5e_txqsq *sq = priv->txq2sq[i];
mlx5e_txwqe_build_eseg_csum(struct mlx5e_txqsq *sq, struct sk_buff *skb,
mlx5e_tx_get_gso_ihs(struct mlx5e_txqsq *sq, struct sk_buff *skb)
mlx5e_txwqe_build_dsegs(struct mlx5e_txqsq *sq, struct sk_buff *skb,
mlx5e_tx_wqe_inline_mode(struct mlx5e_txqsq *sq, struct sk_buff *skb,
static void mlx5e_sq_xmit_prepare(struct mlx5e_txqsq *sq, struct sk_buff *skb,
static void mlx5e_tx_check_stop(struct mlx5e_txqsq *sq)
static void mlx5e_tx_flush(struct mlx5e_txqsq *sq)
mlx5e_txwqe_complete(struct mlx5e_txqsq *sq, struct sk_buff *skb,
mlx5e_sq_xmit_wqe(struct mlx5e_txqsq *sq, struct sk_buff *skb,
static void mlx5e_dma_unmap_wqe_err(struct mlx5e_txqsq *sq, u8 num_dma)
static bool mlx5e_tx_mpwqe_same_eseg(struct mlx5e_txqsq *sq, struct mlx5_wqe_eth_seg *eseg)
static void mlx5e_tx_mpwqe_session_start(struct mlx5e_txqsq *sq,
static bool mlx5e_tx_mpwqe_session_is_active(struct mlx5e_txqsq *sq)
static void mlx5e_tx_mpwqe_add_dseg(struct mlx5e_txqsq *sq, struct mlx5e_xmit_data *txd)
static struct mlx5_wqe_ctrl_seg *mlx5e_tx_mpwqe_session_complete(struct mlx5e_txqsq *sq)
mlx5e_sq_xmit_mpwqe(struct mlx5e_txqsq *sq, struct sk_buff *skb,
void mlx5e_tx_mpwqe_ensure_complete(struct mlx5e_txqsq *sq)
static void mlx5e_txwqe_build_eseg(struct mlx5e_priv *priv, struct mlx5e_txqsq *sq,
struct mlx5e_txqsq *sq;
static void mlx5e_tx_wi_dma_unmap(struct mlx5e_txqsq *sq, struct mlx5e_tx_wqe_info *wi,
static void mlx5e_consume_skb(struct mlx5e_txqsq *sq, struct sk_buff *skb,
static void mlx5e_tx_wi_consume_fifo_skbs(struct mlx5e_txqsq *sq, struct mlx5e_tx_wqe_info *wi,
void mlx5e_txqsq_wake(struct mlx5e_txqsq *sq)
struct mlx5e_txqsq *sq;
sq = container_of(cq, struct mlx5e_txqsq, cq);
static void mlx5e_tx_wi_kfree_fifo_skbs(struct mlx5e_txqsq *sq, struct mlx5e_tx_wqe_info *wi)
void mlx5e_free_txqsq_descs(struct mlx5e_txqsq *sq)
void mlx5i_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb,
struct mlx5e_txqsq __rcu **qos_sqs;
struct mlx5e_txqsq *sq = rcu_dereference(qos_sqs[i]);
struct mlx5e_txqsq *sq = rcu_dereference(qos_sqs[i]);
static void mlx5e_handle_tx_dim(struct mlx5e_txqsq *sq)
struct mlx5e_txqsq *sq = epriv->txq2sq[skb_get_queue_mapping(skb)];
void mlx5i_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb,