hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/infiniband/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 menuconfig INFINIBAND
23 tristate "InfiniBand support"
34 depends on HAS_IOMEM && HAS_DMA
....@@ -6,7 +7,8 @@
67 depends on m || IPV6 != m
78 depends on !ALPHA
89 select IRQ_POLL
9
- ---help---
10
+ select DIMLIB
11
+ help
1012 Core support for InfiniBand (IB). Make sure to also select
1113 any protocols you wish to use as well as drivers for your
1214 InfiniBand hardware.
....@@ -16,7 +18,7 @@
1618 config INFINIBAND_USER_MAD
1719 tristate "InfiniBand userspace MAD support"
1820 depends on INFINIBAND
19
- ---help---
21
+ help
2022 Userspace InfiniBand Management Datagram (MAD) support. This
2123 is the kernel side of the userspace MAD support, which allows
2224 userspace processes to send and receive MADs. You will also
....@@ -25,7 +27,8 @@
2527
2628 config INFINIBAND_USER_ACCESS
2729 tristate "InfiniBand userspace access (verbs and CM)"
28
- ---help---
30
+ depends on MMU
31
+ help
2932 Userspace InfiniBand access support. This enables the
3033 kernel side of userspace verbs and the userspace
3134 communication manager (CM). This allows userspace processes
....@@ -33,25 +36,6 @@
3336 hardware for fast-path operations. You will also need
3437 libibverbs, libibcm and a hardware driver library from
3538 rdma-core <https://github.com/linux-rdma/rdma-core>.
36
-
37
-config INFINIBAND_USER_ACCESS_UCM
38
- tristate "Userspace CM (UCM, DEPRECATED)"
39
- depends on BROKEN || COMPILE_TEST
40
- depends on INFINIBAND_USER_ACCESS
41
- help
42
- The UCM module has known security flaws, which no one is
43
- interested to fix. The user-space part of this code was
44
- dropped from the upstream a long time ago.
45
-
46
- This option is DEPRECATED and planned to be removed.
47
-
48
-config INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI
49
- bool "Allow experimental legacy verbs in new ioctl uAPI (EXPERIMENTAL)"
50
- depends on INFINIBAND_USER_ACCESS
51
- ---help---
52
- IOCTL based uAPI support for Infiniband is enabled by default for
53
- new verbs only. This allows userspace to invoke the IOCTL based uAPI
54
- for current legacy verbs too.
5539
5640 config INFINIBAND_USER_MEM
5741 bool
....@@ -63,8 +47,10 @@
6347 bool "InfiniBand on-demand paging support"
6448 depends on INFINIBAND_USER_MEM
6549 select MMU_NOTIFIER
50
+ select INTERVAL_TREE
51
+ select HMM_MIRROR
6652 default y
67
- ---help---
53
+ help
6854 On demand paging support for the InfiniBand subsystem.
6955 Together with driver support this allows registration of
7056 memory regions without pinning their pages, fetching the
....@@ -74,7 +60,7 @@
7460 bool "RDMA/CM"
7561 depends on INFINIBAND
7662 default y
77
- ---help---
63
+ help
7864 Support for RDMA communication manager (CM).
7965 This allows for a generic connection abstraction over RDMA.
8066
....@@ -82,23 +68,33 @@
8268 bool
8369 depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
8470 default y
85
- ---help---
71
+ help
8672 ConfigFS support for RDMA communication manager (CM).
8773 This allows the user to config the default GID type that the CM
8874 uses for each device, when initiaing new connections.
8975
76
+config INFINIBAND_VIRT_DMA
77
+ def_bool !HIGHMEM
78
+
79
+if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
9080 source "drivers/infiniband/hw/mthca/Kconfig"
9181 source "drivers/infiniband/hw/qib/Kconfig"
92
-source "drivers/infiniband/hw/cxgb3/Kconfig"
9382 source "drivers/infiniband/hw/cxgb4/Kconfig"
83
+source "drivers/infiniband/hw/efa/Kconfig"
9484 source "drivers/infiniband/hw/i40iw/Kconfig"
9585 source "drivers/infiniband/hw/mlx4/Kconfig"
9686 source "drivers/infiniband/hw/mlx5/Kconfig"
97
-source "drivers/infiniband/hw/nes/Kconfig"
9887 source "drivers/infiniband/hw/ocrdma/Kconfig"
9988 source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
10089 source "drivers/infiniband/hw/usnic/Kconfig"
10190 source "drivers/infiniband/hw/hns/Kconfig"
91
+source "drivers/infiniband/hw/bnxt_re/Kconfig"
92
+source "drivers/infiniband/hw/hfi1/Kconfig"
93
+source "drivers/infiniband/hw/qedr/Kconfig"
94
+source "drivers/infiniband/sw/rdmavt/Kconfig"
95
+source "drivers/infiniband/sw/rxe/Kconfig"
96
+source "drivers/infiniband/sw/siw/Kconfig"
97
+endif
10298
10399 source "drivers/infiniband/ulp/ipoib/Kconfig"
104100
....@@ -107,15 +103,8 @@
107103
108104 source "drivers/infiniband/ulp/iser/Kconfig"
109105 source "drivers/infiniband/ulp/isert/Kconfig"
106
+source "drivers/infiniband/ulp/rtrs/Kconfig"
110107
111108 source "drivers/infiniband/ulp/opa_vnic/Kconfig"
112
-source "drivers/infiniband/sw/rdmavt/Kconfig"
113
-source "drivers/infiniband/sw/rxe/Kconfig"
114
-
115
-source "drivers/infiniband/hw/hfi1/Kconfig"
116
-
117
-source "drivers/infiniband/hw/qedr/Kconfig"
118
-
119
-source "drivers/infiniband/hw/bnxt_re/Kconfig"
120109
121110 endif # INFINIBAND