IB/hfi1: Add OPFN and TID RDMA capability bits
authorKaike Wan <kaike.wan@intel.com>
Wed, 28 Nov 2018 18:22:20 +0000 (10:22 -0800)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 7 Dec 2018 02:59:46 +0000 (19:59 -0700)
The OPFN and TID RDMA capability bits are added to allow users to control
which feature is enabled and disabled.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hfi1/common.h
include/uapi/rdma/hfi/hfi1_user.h

index 7108d4d..40d3cfb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2015, 2016 Intel Corporation.
+ * Copyright(c) 2015 - 2018 Intel Corporation.
  *
  * This file is provided under a dual BSD/GPLv2 license.  When using or
  * redistributing this file, you may do so under either license.
                                  HFI1_CAP_ALLOW_PERM_JKEY |            \
                                  HFI1_CAP_STATIC_RATE_CTRL |           \
                                  HFI1_CAP_PRINT_UNIMPL |               \
-                                 HFI1_CAP_TID_UNMAP)
+                                 HFI1_CAP_TID_UNMAP |                  \
+                                 HFI1_CAP_OPFN)
 /*
  * A set of capability bits that are "global" and are not allowed to be
  * set in the user bitmask.
  */
 #define HFI1_CAP_RESERVED_MASK   ((HFI1_CAP_SDMA |                     \
-                                 HFI1_CAP_USE_SDMA_HEAD |              \
-                                 HFI1_CAP_EXTENDED_PSN |               \
-                                 HFI1_CAP_PRINT_UNIMPL |               \
-                                 HFI1_CAP_NO_INTEGRITY |               \
-                                 HFI1_CAP_PKEY_CHECK) <<               \
-                                HFI1_CAP_USER_SHIFT)
+                                  HFI1_CAP_USE_SDMA_HEAD |             \
+                                  HFI1_CAP_EXTENDED_PSN |              \
+                                  HFI1_CAP_PRINT_UNIMPL |              \
+                                  HFI1_CAP_NO_INTEGRITY |              \
+                                  HFI1_CAP_PKEY_CHECK |                \
+                                  HFI1_CAP_TID_RDMA |                  \
+                                  HFI1_CAP_OPFN) <<                    \
+                                 HFI1_CAP_USER_SHIFT)
 /*
  * Set of capabilities that need to be enabled for kernel context in
  * order to be allowed for user contexts, as well.
index c6a984c..01ac585 100644 (file)
@@ -6,7 +6,7 @@
  *
  * GPL LICENSE SUMMARY
  *
- * Copyright(c) 2015 Intel Corporation.
+ * Copyright(c) 2015 - 2018 Intel Corporation.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of version 2 of the GNU General Public License as
@@ -95,7 +95,7 @@
 #define HFI1_CAP_SDMA_AHG         (1UL <<  2) /* Enable SDMA AHG support */
 #define HFI1_CAP_EXTENDED_PSN     (1UL <<  3) /* Enable Extended PSN support */
 #define HFI1_CAP_HDRSUPP          (1UL <<  4) /* Enable Header Suppression */
-/* 1UL << 5 unused */
+#define HFI1_CAP_TID_RDMA         (1UL <<  5) /* Enable TID RDMA operations */
 #define HFI1_CAP_USE_SDMA_HEAD    (1UL <<  6) /* DMA Hdr Q tail vs. use CSR */
 #define HFI1_CAP_MULTI_PKT_EGR    (1UL <<  7) /* Enable multi-packet Egr buffs*/
 #define HFI1_CAP_NODROP_RHQ_FULL  (1UL <<  8) /* Don't drop on Hdr Q full */
 #define HFI1_CAP_NO_INTEGRITY     (1UL << 13) /* Enable ctxt integrity checks */
 #define HFI1_CAP_PKEY_CHECK       (1UL << 14) /* Enable ctxt PKey checking */
 #define HFI1_CAP_STATIC_RATE_CTRL (1UL << 15) /* Allow PBC.StaticRateControl */
-/* 1UL << 16 unused */
+#define HFI1_CAP_OPFN             (1UL << 16) /* Enable the OPFN protocol */
 #define HFI1_CAP_SDMA_HEAD_CHECK  (1UL << 17) /* SDMA head checking */
 #define HFI1_CAP_EARLY_CREDIT_RETURN (1UL << 18) /* early credit return */