IB/mlx4: Add strong ordering to local inval and fast reg work requests
[linux-block.git] / include / linux / mlx4 / qp.h
index 7f128b266faa39044cc85e4f7175aed51664fe16..9f29d86e5dc96fd4169911b918051b645d4b306d 100644 (file)
@@ -164,11 +164,14 @@ enum {
        MLX4_WQE_CTRL_SOLICITED         = 1 << 1,
        MLX4_WQE_CTRL_IP_CSUM           = 1 << 4,
        MLX4_WQE_CTRL_TCP_UDP_CSUM      = 1 << 5,
+       MLX4_WQE_CTRL_INS_VLAN          = 1 << 6,
+       MLX4_WQE_CTRL_STRONG_ORDER      = 1 << 7,
 };
 
 struct mlx4_wqe_ctrl_seg {
        __be32                  owner_opcode;
-       u8                      reserved2[3];
+       __be16                  vlan_tag;
+       u8                      ins_vlan;
        u8                      fence_size;
        /*
         * High 24 bits are SRC remote buffer; low 8 bits are flags:
@@ -219,7 +222,7 @@ struct mlx4_wqe_datagram_seg {
        __be32                  reservd[2];
 };
 
-struct mlx4_lso_seg {
+struct mlx4_wqe_lso_seg {
        __be32                  mss_hdr_size;
        __be32                  header[0];
 };
@@ -233,6 +236,14 @@ struct mlx4_wqe_bind_seg {
        __be64                  length;
 };
 
+enum {
+       MLX4_WQE_FMR_PERM_LOCAL_READ    = 1 << 27,
+       MLX4_WQE_FMR_PERM_LOCAL_WRITE   = 1 << 28,
+       MLX4_WQE_FMR_PERM_REMOTE_READ   = 1 << 29,
+       MLX4_WQE_FMR_PERM_REMOTE_WRITE  = 1 << 30,
+       MLX4_WQE_FMR_PERM_ATOMIC        = 1 << 31
+};
+
 struct mlx4_wqe_fmr_seg {
        __be32                  flags;
        __be32                  mem_key;
@@ -255,11 +266,11 @@ struct mlx4_wqe_fmr_ext_seg {
 };
 
 struct mlx4_wqe_local_inval_seg {
-       u8                      flags;
-       u8                      reserved1[3];
+       __be32                  flags;
+       u32                     reserved1;
        __be32                  mem_key;
-       u8                      reserved2[3];
-       u8                      guest_id;
+       u32                     reserved2[2];
+       __be32                  guest_id;
        __be64                  pa;
 };