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 |
a7f7f624 | 11 | help |
1da177e4 LT |
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 | 20 | depends on INFINIBAND |
a7f7f624 | 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 |
a7f7f624 | 31 | help |
17781cd6 JL |
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 | |
f7c6a7b5 RD |
40 | config INFINIBAND_USER_MEM |
41 | bool | |
42 | depends on INFINIBAND_USER_ACCESS != n | |
9cc12ad6 | 43 | depends on MMU |
368c0159 | 44 | select DMA_SHARED_BUFFER |
f7c6a7b5 RD |
45 | default y |
46 | ||
860f10a7 SG |
47 | config INFINIBAND_ON_DEMAND_PAGING |
48 | bool "InfiniBand on-demand paging support" | |
49 | depends on INFINIBAND_USER_MEM | |
882214e2 | 50 | select MMU_NOTIFIER |
7cc2e18f | 51 | select INTERVAL_TREE |
36f30e48 | 52 | select HMM_MIRROR |
860f10a7 | 53 | default y |
a7f7f624 | 54 | help |
860f10a7 SG |
55 | On demand paging support for the InfiniBand subsystem. |
56 | Together with driver support this allows registration of | |
57 | memory regions without pinning their pages, fetching the | |
58 | pages on demand instead. | |
59 | ||
7025fcd3 | 60 | config INFINIBAND_ADDR_TRANS |
f7cb7b85 | 61 | bool "RDMA/CM" |
2f85d24e | 62 | depends on INFINIBAND |
7025fcd3 | 63 | default y |
a7f7f624 | 64 | help |
f7cb7b85 GT |
65 | Support for RDMA communication manager (CM). |
66 | This allows for a generic connection abstraction over RDMA. | |
7025fcd3 | 67 | |
045959db MB |
68 | config INFINIBAND_ADDR_TRANS_CONFIGFS |
69 | bool | |
70 | depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) | |
71 | default y | |
a7f7f624 | 72 | help |
045959db MB |
73 | ConfigFS support for RDMA communication manager (CM). |
74 | This allows the user to config the default GID type that the CM | |
75 | uses for each device, when initiaing new connections. | |
76 | ||
b1e678bf CH |
77 | config INFINIBAND_VIRT_DMA |
78 | def_bool !HIGHMEM | |
79 | ||
6fa8f1af | 80 | if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS |
1da177e4 | 81 | source "drivers/infiniband/hw/mthca/Kconfig" |
f931551b | 82 | source "drivers/infiniband/hw/qib/Kconfig" |
cfdda9d7 | 83 | source "drivers/infiniband/hw/cxgb4/Kconfig" |
f23afd75 | 84 | source "drivers/infiniband/hw/efa/Kconfig" |
fa0cf568 | 85 | source "drivers/infiniband/hw/irdma/Kconfig" |
225c7b1f | 86 | source "drivers/infiniband/hw/mlx4/Kconfig" |
e126ba97 | 87 | source "drivers/infiniband/hw/mlx5/Kconfig" |
fe2caefc | 88 | source "drivers/infiniband/hw/ocrdma/Kconfig" |
29c8d9eb | 89 | source "drivers/infiniband/hw/vmw_pvrdma/Kconfig" |
e3cf00d0 | 90 | source "drivers/infiniband/hw/usnic/Kconfig" |
8793f779 | 91 | source "drivers/infiniband/hw/hns/Kconfig" |
6fa8f1af SR |
92 | source "drivers/infiniband/hw/bnxt_re/Kconfig" |
93 | source "drivers/infiniband/hw/hfi1/Kconfig" | |
94 | source "drivers/infiniband/hw/qedr/Kconfig" | |
95 | source "drivers/infiniband/sw/rdmavt/Kconfig" | |
96 | source "drivers/infiniband/sw/rxe/Kconfig" | |
c0cf5bdd | 97 | source "drivers/infiniband/sw/siw/Kconfig" |
6fa8f1af | 98 | endif |
225c7b1f | 99 | |
1da177e4 LT |
100 | source "drivers/infiniband/ulp/ipoib/Kconfig" |
101 | ||
aef9ec39 | 102 | source "drivers/infiniband/ulp/srp/Kconfig" |
a42d985b | 103 | source "drivers/infiniband/ulp/srpt/Kconfig" |
aef9ec39 | 104 | |
3f1244a2 | 105 | source "drivers/infiniband/ulp/iser/Kconfig" |
b8d26b3b | 106 | source "drivers/infiniband/ulp/isert/Kconfig" |
c013fbc1 | 107 | source "drivers/infiniband/ulp/rtrs/Kconfig" |
3f1244a2 | 108 | |
7d6f728c | 109 | source "drivers/infiniband/ulp/opa_vnic/Kconfig" |
592e8b32 | 110 | |
06cc8508 | 111 | endif # INFINIBAND |