RDMA/rxe: Remove type 2A memory window capability
authorBob Pearson <rpearsonhpe@gmail.com>
Thu, 7 Apr 2022 18:43:22 +0000 (13:43 -0500)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 8 Apr 2022 17:37:17 +0000 (14:37 -0300)
Currently the rdma_rxe driver claims to support both 2A and 2B type memory
windows. But the IBA requires

010-37.2.31: If an HCA supports the Base Memory Management
extensions, the HCA shall support either Type 2A or Type 2B MWs,
but not both.

This commit removes the device capability bit for type 2A memory windows
and adds a clarifying comment to rxe_mw.c.

Link: https://lore.kernel.org/r/20220407184321.14207-1-rpearsonhpe@gmail.com
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/sw/rxe/rxe_mw.c
drivers/infiniband/sw/rxe/rxe_param.h

index c86b2ef..f29829e 100644 (file)
@@ -3,6 +3,14 @@
  * Copyright (c) 2020 Hewlett Packard Enterprise, Inc. All rights reserved.
  */
 
+/*
+ * The rdma_rxe driver supports type 1 or type 2B memory windows.
+ * Type 1 MWs are created by ibv_alloc_mw() verbs calls and bound by
+ * ibv_bind_mw() calls. Type 2 MWs are also created by ibv_alloc_mw()
+ * but bound by bind_mw work requests. The ibv_bind_mw() call is converted
+ * by libibverbs to a bind_mw work request.
+ */
+
 #include "rxe.h"
 
 int rxe_alloc_mw(struct ib_mw *ibmw, struct ib_udata *udata)
index a717125..568a7cb 100644 (file)
@@ -51,7 +51,6 @@ enum rxe_device_param {
                                        | IB_DEVICE_SRQ_RESIZE
                                        | IB_DEVICE_MEM_MGT_EXTENSIONS
                                        | IB_DEVICE_MEM_WINDOW
-                                       | IB_DEVICE_MEM_WINDOW_TYPE_2A
                                        | IB_DEVICE_MEM_WINDOW_TYPE_2B,
        RXE_MAX_SGE                     = 32,
        RXE_MAX_WQE_SIZE                = sizeof(struct rxe_send_wqe) +