net/mlx5e: CQE compression
CQE compression feature is meant to save PCIe bandwidth by compressing few CQEs into smaller amount of bytes on PCIe. CQE compression can be selectively enabled per CQ. By default is disabled for now and will be enabled later on. Signed-off-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
c1869d584a
commit
7219ab34f1
@@ -685,6 +685,40 @@ struct mlx5_cqe64 {
|
||||
u8 op_own;
|
||||
};
|
||||
|
||||
struct mlx5_mini_cqe8 {
|
||||
union {
|
||||
__be32 rx_hash_result;
|
||||
struct {
|
||||
__be16 checksum;
|
||||
__be16 rsvd;
|
||||
};
|
||||
struct {
|
||||
__be16 wqe_counter;
|
||||
u8 s_wqe_opcode;
|
||||
u8 reserved;
|
||||
} s_wqe_info;
|
||||
};
|
||||
__be32 byte_cnt;
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX5_NO_INLINE_DATA,
|
||||
MLX5_INLINE_DATA32_SEG,
|
||||
MLX5_INLINE_DATA64_SEG,
|
||||
MLX5_COMPRESSED,
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX5_CQE_FORMAT_CSUM = 0x1,
|
||||
};
|
||||
|
||||
#define MLX5_MINI_CQE_ARRAY_SIZE 8
|
||||
|
||||
static inline int mlx5_get_cqe_format(struct mlx5_cqe64 *cqe)
|
||||
{
|
||||
return (cqe->op_own >> 2) & 0x3;
|
||||
}
|
||||
|
||||
static inline int get_cqe_lro_tcppsh(struct mlx5_cqe64 *cqe)
|
||||
{
|
||||
return (cqe->lro_tcppsh_abort_dupack >> 6) & 1;
|
||||
|
Reference in New Issue
Block a user