Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
06cc8508 | 2 | menuconfig INFINIBAND |
1da177e4 | 3 | tristate "InfiniBand support" |
db0acbc4 | 4 | depends on HAS_IOMEM && HAS_DMA |
b2cbae2c | 5 | depends on NET |
2f85d24e MB |
6 | depends on INET |
7 | depends on m || IPV6 != m | |
adf90eb4 | 8 | depends on !ALPHA |
14d3a3b2 | 9 | select IRQ_POLL |
f8fc8cd9 | 10 | select DIMLIB |
1da177e4 LT |
11 | ---help--- |
12 | Core support for InfiniBand (IB). Make sure to also select | |
13 | any protocols you wish to use as well as drivers for your | |
14 | InfiniBand hardware. | |
15 | ||
06cc8508 JE |
16 | if INFINIBAND |
17 | ||
17781cd6 JL |
18 | config INFINIBAND_USER_MAD |
19 | tristate "InfiniBand userspace MAD support" | |
2d927d69 RD |
20 | depends on INFINIBAND |
21 | ---help--- | |
17781cd6 JL |
22 | Userspace InfiniBand Management Datagram (MAD) support. This |
23 | is the kernel side of the userspace MAD support, which allows | |
3cd96564 | 24 | userspace processes to send and receive MADs. You will also |
46adb179 JG |
25 | need libibumad from rdma-core |
26 | <https://github.com/linux-rdma/rdma-core>. | |
17781cd6 JL |
27 | |
28 | config INFINIBAND_USER_ACCESS | |
29 | tristate "InfiniBand userspace access (verbs and CM)" | |
914e5d7d | 30 | depends on MMU |
17781cd6 JL |
31 | ---help--- |
32 | Userspace InfiniBand access support. This enables the | |
33 | kernel side of userspace verbs and the userspace | |
34 | communication manager (CM). This allows userspace processes | |
35 | to set up connections and directly access InfiniBand | |
36 | hardware for fast-path operations. You will also need | |
37 | libibverbs, libibcm and a hardware driver library from | |
46adb179 | 38 | rdma-core <https://github.com/linux-rdma/rdma-core>. |
2d927d69 | 39 | |
185899ee MB |
40 | config INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI |
41 | bool "Allow experimental legacy verbs in new ioctl uAPI (EXPERIMENTAL)" | |
8eb19e8e MB |
42 | depends on INFINIBAND_USER_ACCESS |
43 | ---help--- | |
185899ee MB |
44 | IOCTL based uAPI support for Infiniband is enabled by default for |
45 | new verbs only. This allows userspace to invoke the IOCTL based uAPI | |
46 | for current legacy verbs too. | |
8eb19e8e | 47 | |
f7c6a7b5 RD |
48 | config INFINIBAND_USER_MEM |
49 | bool | |
50 | depends on INFINIBAND_USER_ACCESS != n | |
9cc12ad6 | 51 | depends on MMU |
f7c6a7b5 RD |
52 | default y |
53 | ||
860f10a7 SG |
54 | config INFINIBAND_ON_DEMAND_PAGING |
55 | bool "InfiniBand on-demand paging support" | |
56 | depends on INFINIBAND_USER_MEM | |
882214e2 | 57 | select MMU_NOTIFIER |
860f10a7 SG |
58 | default y |
59 | ---help--- | |
60 | On demand paging support for the InfiniBand subsystem. | |
61 | Together with driver support this allows registration of | |
62 | memory regions without pinning their pages, fetching the | |
63 | pages on demand instead. | |
64 | ||
7025fcd3 | 65 | config INFINIBAND_ADDR_TRANS |
f7cb7b85 | 66 | bool "RDMA/CM" |
2f85d24e | 67 | depends on INFINIBAND |
7025fcd3 | 68 | default y |
f7cb7b85 GT |
69 | ---help--- |
70 | Support for RDMA communication manager (CM). | |
71 | This allows for a generic connection abstraction over RDMA. | |
7025fcd3 | 72 | |
045959db MB |
73 | config INFINIBAND_ADDR_TRANS_CONFIGFS |
74 | bool | |
75 | depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) | |
76 | default y | |
77 | ---help--- | |
78 | ConfigFS support for RDMA communication manager (CM). | |
79 | This allows the user to config the default GID type that the CM | |
80 | uses for each device, when initiaing new connections. | |
81 | ||
6fa8f1af | 82 | if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS |
1da177e4 | 83 | source "drivers/infiniband/hw/mthca/Kconfig" |
f931551b | 84 | source "drivers/infiniband/hw/qib/Kconfig" |
b038ced7 | 85 | source "drivers/infiniband/hw/cxgb3/Kconfig" |
cfdda9d7 | 86 | source "drivers/infiniband/hw/cxgb4/Kconfig" |
f23afd75 | 87 | source "drivers/infiniband/hw/efa/Kconfig" |
6e4de866 | 88 | source "drivers/infiniband/hw/i40iw/Kconfig" |
225c7b1f | 89 | source "drivers/infiniband/hw/mlx4/Kconfig" |
e126ba97 | 90 | source "drivers/infiniband/hw/mlx5/Kconfig" |
fe2caefc | 91 | source "drivers/infiniband/hw/ocrdma/Kconfig" |
29c8d9eb | 92 | source "drivers/infiniband/hw/vmw_pvrdma/Kconfig" |
e3cf00d0 | 93 | source "drivers/infiniband/hw/usnic/Kconfig" |
8793f779 | 94 | source "drivers/infiniband/hw/hns/Kconfig" |
6fa8f1af SR |
95 | source "drivers/infiniband/hw/bnxt_re/Kconfig" |
96 | source "drivers/infiniband/hw/hfi1/Kconfig" | |
97 | source "drivers/infiniband/hw/qedr/Kconfig" | |
98 | source "drivers/infiniband/sw/rdmavt/Kconfig" | |
99 | source "drivers/infiniband/sw/rxe/Kconfig" | |
c0cf5bdd | 100 | source "drivers/infiniband/sw/siw/Kconfig" |
6fa8f1af | 101 | endif |
225c7b1f | 102 | |
1da177e4 LT |
103 | source "drivers/infiniband/ulp/ipoib/Kconfig" |
104 | ||
aef9ec39 | 105 | source "drivers/infiniband/ulp/srp/Kconfig" |
a42d985b | 106 | source "drivers/infiniband/ulp/srpt/Kconfig" |
aef9ec39 | 107 | |
3f1244a2 | 108 | source "drivers/infiniband/ulp/iser/Kconfig" |
b8d26b3b | 109 | source "drivers/infiniband/ulp/isert/Kconfig" |
3f1244a2 | 110 | |
7d6f728c | 111 | source "drivers/infiniband/ulp/opa_vnic/Kconfig" |
592e8b32 | 112 | |
06cc8508 | 113 | endif # INFINIBAND |