IB/mlx5: Expose support for signature MR feature
authorSagi Grimberg <sagig@mellanox.com>
Sun, 23 Feb 2014 12:19:13 +0000 (14:19 +0200)
committerRoland Dreier <roland@purestorage.com>
Fri, 7 Mar 2014 19:40:04 +0000 (11:40 -0800)
Currently support only T10-DIF types of signature handover operations
(types 1|2|3).

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mlx5/main.c

index ba3ecec7fa651f037383625c32b417d25d4f2c14..7b9c0782105eeb0ed0c80092da8e2d429bf886ba 100644 (file)
@@ -273,6 +273,15 @@ static int mlx5_ib_query_device(struct ib_device *ibdev,
        if (flags & MLX5_DEV_CAP_FLAG_XRC)
                props->device_cap_flags |= IB_DEVICE_XRC;
        props->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS;
+       if (flags & MLX5_DEV_CAP_FLAG_SIG_HAND_OVER) {
+               props->device_cap_flags |= IB_DEVICE_SIGNATURE_HANDOVER;
+               /* At this stage no support for signature handover */
+               props->sig_prot_cap = IB_PROT_T10DIF_TYPE_1 |
+                                     IB_PROT_T10DIF_TYPE_2 |
+                                     IB_PROT_T10DIF_TYPE_3;
+               props->sig_guard_cap = IB_GUARD_T10DIF_CRC |
+                                      IB_GUARD_T10DIF_CSUM;
+       }
 
        props->vendor_id           = be32_to_cpup((__be32 *)(out_mad->data + 36)) &
                0xffffff;