IB/core: Add XRQ capabilities
authorArtemy Kovalyov <artemyko@mellanox.com>
Thu, 17 Aug 2017 12:52:03 +0000 (15:52 +0300)
committerDoug Ledford <dledford@redhat.com>
Tue, 29 Aug 2017 12:30:16 +0000 (08:30 -0400)
This patch adds following TM XRQ capabilities:

* max_rndv_hdr_size - Max size of rendezvous request message
* max_num_tags - Max number of entries in tag matching list
* max_ops - Max number of outstanding list operations
* max_sge - Max number of SGE in tag matching entry
* flags - the following flags are currently defined:
    - IB_TM_CAP_RC - Support tag matching on RC transport

Signed-off-by: Artemy Kovalyov <artemyko@mellanox.com>
Reviewed-by: Yossi Itigin <yosefe@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
include/rdma/ib_verbs.h

index 355c7a328e0b89ec56fed98380d18298b4b8326a..cab0bdcfad51c433092c32a5462dfd29e79d5f10 100644 (file)
@@ -280,6 +280,24 @@ struct ib_rss_caps {
        u32 max_rwq_indirection_table_size;
 };
 
+enum ib_tm_cap_flags {
+       /*  Support tag matching on RC transport */
+       IB_TM_CAP_RC                = 1 << 0,
+};
+
+struct ib_xrq_caps {
+       /* Max size of RNDV header */
+       u32 max_rndv_hdr_size;
+       /* Max number of entries in tag matching list */
+       u32 max_num_tags;
+       /* From enum ib_tm_cap_flags */
+       u32 flags;
+       /* Max number of outstanding list operations */
+       u32 max_ops;
+       /* Max number of SGE in tag matching entry */
+       u32 max_sge;
+};
+
 enum ib_cq_creation_flags {
        IB_CQ_FLAGS_TIMESTAMP_COMPLETION   = 1 << 0,
        IB_CQ_FLAGS_IGNORE_OVERRUN         = 1 << 1,
@@ -340,6 +358,7 @@ struct ib_device_attr {
        struct ib_rss_caps      rss_caps;
        u32                     max_wq_type_rq;
        u32                     raw_packet_caps; /* Use ib_raw_packet_caps enum */
+       struct ib_xrq_caps      xrq_caps;
 };
 
 enum ib_mtu {