Lines Matching refs:sq
61 void mlx5e_trigger_irq(struct mlx5e_icosq *sq);
95 void mlx5e_free_txqsq_descs(struct mlx5e_txqsq *sq);
119 #define MLX5E_TX_FETCH_WQE(sq, pi) \
120 ((struct mlx5e_tx_wqe *)mlx5e_fetch_wqe(&(sq)->wq, pi, sizeof(struct mlx5e_tx_wqe)))
168 static inline u16 mlx5e_txqsq_get_next_pi(struct mlx5e_txqsq *sq, u16 size)
170 struct mlx5_wq_cyc *wq = &sq->wq;
173 pi = mlx5_wq_cyc_ctr2ix(wq, sq->pc);
178 wi = &sq->db.wqe_info[pi];
186 mlx5e_post_nop(wq, sq->sqn, &sq->pc);
188 sq->stats->nop += contig_wqebbs;
190 pi = mlx5_wq_cyc_ctr2ix(wq, sq->pc);
196 void mlx5e_txqsq_wake(struct mlx5e_txqsq *sq);
228 void mlx5e_free_icosq_descs(struct mlx5e_icosq *sq);
230 static inline u16 mlx5e_icosq_get_next_pi(struct mlx5e_icosq *sq, u16 size)
232 struct mlx5_wq_cyc *wq = &sq->wq;
235 pi = mlx5_wq_cyc_ctr2ix(wq, sq->pc);
240 wi = &sq->db.wqe_info[pi];
249 mlx5e_post_nop(wq, sq->sqn, &sq->pc);
252 pi = mlx5_wq_cyc_ctr2ix(wq, sq->pc);
285 mlx5e_dma_get(struct mlx5e_txqsq *sq, u32 i)
287 return &sq->db.dma_fifo[i & sq->dma_fifo_mask];
291 mlx5e_dma_push(struct mlx5e_txqsq *sq, dma_addr_t addr, u32 size,
294 struct mlx5e_sq_dma *dma = mlx5e_dma_get(sq, sq->dma_fifo_pc++);
338 void mlx5e_tx_mpwqe_ensure_complete(struct mlx5e_txqsq *sq);
496 static inline bool mlx5e_icosq_can_post_wqe(struct mlx5e_icosq *sq, u16 wqe_size)
498 u16 room = sq->reserved_room + MLX5E_STOP_ROOM(wqe_size);
500 return mlx5e_wqc_has_room_for(&sq->wq, sq->cc, sq->pc, room);