]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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 c86b2efd58f2517071ba6c1c9ba216319e80caf8..f29829efd07d7ca2ed210158fdd6e4a7c1b680c3 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 a717125f8cf5a5b471411804f6269857c20b611e..568a7cbd13d4c1c576490145c6f9b96e1c60465a 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) +