IB/mlx5: Expose NDR speed through MAD
authorMaher Sanalla <msanalla@nvidia.com>
Wed, 15 Dec 2021 07:54:31 +0000 (09:54 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 5 Jan 2022 20:40:35 +0000 (16:40 -0400)
Under MAD query port, Report NDR speed when NDR is supported in the port
capability mask.

Link: https://lore.kernel.org/r/a2ab630d2a634547db9b581faa9d65da2edb9d05.1639554831.git.leonro@nvidia.com
Signed-off-by: Maher Sanalla <msanalla@nvidia.com>
Reviewed-by: Michael Guralnik <michaelgur@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/mlx5/mad.c
include/rdma/ib_mad.h

index 6c536f11eab56314559d4a6a232b7911648c1f61..293ed709e5ed5dd2efc8c72fa25137cb21b60ad4 100644 (file)
@@ -584,6 +584,11 @@ int mlx5_query_mad_ifc_port(struct ib_device *ibdev, u32 port,
                            props->port_cap_flags2 & IB_PORT_LINK_SPEED_HDR_SUP)
                                props->active_speed = IB_SPEED_HDR;
                        break;
+               case 8:
+                       if (props->port_cap_flags & IB_PORT_CAP_MASK2_SUP &&
+                           props->port_cap_flags2 & IB_PORT_LINK_SPEED_NDR_SUP)
+                               props->active_speed = IB_SPEED_NDR;
+                       break;
                }
        }
 
index 465b0d0bdaf8738d4ed9aa9b32a939a288111b00..2e3843b761e8908d98cc2449181ce7e0d5bb6cb9 100644 (file)
@@ -276,6 +276,7 @@ enum ib_port_capability_mask2_bits {
        IB_PORT_SWITCH_PORT_STATE_TABLE_SUP     = 1 << 3,
        IB_PORT_LINK_WIDTH_2X_SUP               = 1 << 4,
        IB_PORT_LINK_SPEED_HDR_SUP              = 1 << 5,
+       IB_PORT_LINK_SPEED_NDR_SUP              = 1 << 10,
 };
 
 #define OPA_CLASS_PORT_INFO_PR_SUPPORT BIT(26)