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 |
7cc2e18f | 58 | select INTERVAL_TREE |
860f10a7 SG |
59 | default y |
60 | ---help--- | |
61 | On demand paging support for the InfiniBand subsystem. | |
62 | Together with driver support this allows registration of | |
63 | memory regions without pinning their pages, fetching the | |
64 | pages on demand instead. | |
65 | ||
7025fcd3 | 66 | config INFINIBAND_ADDR_TRANS |
f7cb7b85 | 67 | bool "RDMA/CM" |
2f85d24e | 68 | depends on INFINIBAND |
7025fcd3 | 69 | default y |
f7cb7b85 GT |
70 | ---help--- |
71 | Support for RDMA communication manager (CM). | |
72 | This allows for a generic connection abstraction over RDMA. | |
7025fcd3 | 73 | |
045959db MB |
74 | config INFINIBAND_ADDR_TRANS_CONFIGFS |
75 | bool | |
76 | depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) | |
77 | default y | |
78 | ---help--- | |
79 | ConfigFS support for RDMA communication manager (CM). | |
80 | This allows the user to config the default GID type that the CM | |
81 | uses for each device, when initiaing new connections. | |
82 | ||
6fa8f1af | 83 | if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS |
1da177e4 | 84 | source "drivers/infiniband/hw/mthca/Kconfig" |
f931551b | 85 | source "drivers/infiniband/hw/qib/Kconfig" |
b038ced7 | 86 | source "drivers/infiniband/hw/cxgb3/Kconfig" |
cfdda9d7 | 87 | source "drivers/infiniband/hw/cxgb4/Kconfig" |
f23afd75 | 88 | source "drivers/infiniband/hw/efa/Kconfig" |
6e4de866 | 89 | source "drivers/infiniband/hw/i40iw/Kconfig" |
225c7b1f | 90 | source "drivers/infiniband/hw/mlx4/Kconfig" |
e126ba97 | 91 | source "drivers/infiniband/hw/mlx5/Kconfig" |
fe2caefc | 92 | source "drivers/infiniband/hw/ocrdma/Kconfig" |
29c8d9eb | 93 | source "drivers/infiniband/hw/vmw_pvrdma/Kconfig" |
e3cf00d0 | 94 | source "drivers/infiniband/hw/usnic/Kconfig" |
8793f779 | 95 | source "drivers/infiniband/hw/hns/Kconfig" |
6fa8f1af SR |
96 | source "drivers/infiniband/hw/bnxt_re/Kconfig" |
97 | source "drivers/infiniband/hw/hfi1/Kconfig" | |
98 | source "drivers/infiniband/hw/qedr/Kconfig" | |
99 | source "drivers/infiniband/sw/rdmavt/Kconfig" | |
100 | source "drivers/infiniband/sw/rxe/Kconfig" | |
c0cf5bdd | 101 | source "drivers/infiniband/sw/siw/Kconfig" |
6fa8f1af | 102 | endif |
225c7b1f | 103 | |
1da177e4 LT |
104 | source "drivers/infiniband/ulp/ipoib/Kconfig" |
105 | ||
aef9ec39 | 106 | source "drivers/infiniband/ulp/srp/Kconfig" |
a42d985b | 107 | source "drivers/infiniband/ulp/srpt/Kconfig" |
aef9ec39 | 108 | |
3f1244a2 | 109 | source "drivers/infiniband/ulp/iser/Kconfig" |
b8d26b3b | 110 | source "drivers/infiniband/ulp/isert/Kconfig" |
3f1244a2 | 111 | |
7d6f728c | 112 | source "drivers/infiniband/ulp/opa_vnic/Kconfig" |
592e8b32 | 113 | |
06cc8508 | 114 | endif # INFINIBAND |