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