These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / include / linux / mlx5 / qp.h
index 310b5f7..f079fb1 100644 (file)
@@ -134,13 +134,21 @@ enum {
 
 enum {
        MLX5_WQE_CTRL_CQ_UPDATE         = 2 << 2,
+       MLX5_WQE_CTRL_CQ_UPDATE_AND_EQE = 3 << 2,
        MLX5_WQE_CTRL_SOLICITED         = 1 << 1,
 };
 
 enum {
+       MLX5_SEND_WQE_DS        = 16,
        MLX5_SEND_WQE_BB        = 64,
 };
 
+#define MLX5_SEND_WQEBB_NUM_DS (MLX5_SEND_WQE_BB / MLX5_SEND_WQE_DS)
+
+enum {
+       MLX5_SEND_WQE_MAX_WQEBBS        = 16,
+};
+
 enum {
        MLX5_WQE_FMR_PERM_LOCAL_READ    = 1 << 27,
        MLX5_WQE_FMR_PERM_LOCAL_WRITE   = 1 << 28,
@@ -200,6 +208,23 @@ struct mlx5_wqe_ctrl_seg {
 #define MLX5_WQE_CTRL_WQE_INDEX_MASK 0x00ffff00
 #define MLX5_WQE_CTRL_WQE_INDEX_SHIFT 8
 
+enum {
+       MLX5_ETH_WQE_L3_INNER_CSUM      = 1 << 4,
+       MLX5_ETH_WQE_L4_INNER_CSUM      = 1 << 5,
+       MLX5_ETH_WQE_L3_CSUM            = 1 << 6,
+       MLX5_ETH_WQE_L4_CSUM            = 1 << 7,
+};
+
+struct mlx5_wqe_eth_seg {
+       u8              rsvd0[4];
+       u8              cs_flags;
+       u8              rsvd1;
+       __be16          mss;
+       __be32          rsvd2;
+       __be16          inline_hdr_sz;
+       u8              inline_hdr_start[2];
+};
+
 struct mlx5_wqe_xrc_seg {
        __be32                  xrc_srqn;
        u8                      rsvd[12];