RDMA/core: Provide RDMA DIM support for ULPs
[linux-2.6-block.git] / drivers / infiniband / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
06cc8508 2menuconfig 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
15if INFINIBAND
16
17781cd6
JL
17config 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
27config 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
39config 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
47config 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
53config 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 64config 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
72config 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 81if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
1da177e4 82source "drivers/infiniband/hw/mthca/Kconfig"
f931551b 83source "drivers/infiniband/hw/qib/Kconfig"
b038ced7 84source "drivers/infiniband/hw/cxgb3/Kconfig"
cfdda9d7 85source "drivers/infiniband/hw/cxgb4/Kconfig"
f23afd75 86source "drivers/infiniband/hw/efa/Kconfig"
6e4de866 87source "drivers/infiniband/hw/i40iw/Kconfig"
225c7b1f 88source "drivers/infiniband/hw/mlx4/Kconfig"
e126ba97 89source "drivers/infiniband/hw/mlx5/Kconfig"
fe2caefc 90source "drivers/infiniband/hw/ocrdma/Kconfig"
29c8d9eb 91source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
e3cf00d0 92source "drivers/infiniband/hw/usnic/Kconfig"
8793f779 93source "drivers/infiniband/hw/hns/Kconfig"
6fa8f1af
SR
94source "drivers/infiniband/hw/bnxt_re/Kconfig"
95source "drivers/infiniband/hw/hfi1/Kconfig"
96source "drivers/infiniband/hw/qedr/Kconfig"
97source "drivers/infiniband/sw/rdmavt/Kconfig"
98source "drivers/infiniband/sw/rxe/Kconfig"
c0cf5bdd 99source "drivers/infiniband/sw/siw/Kconfig"
6fa8f1af 100endif
225c7b1f 101
1da177e4
LT
102source "drivers/infiniband/ulp/ipoib/Kconfig"
103
aef9ec39 104source "drivers/infiniband/ulp/srp/Kconfig"
a42d985b 105source "drivers/infiniband/ulp/srpt/Kconfig"
aef9ec39 106
3f1244a2 107source "drivers/infiniband/ulp/iser/Kconfig"
b8d26b3b 108source "drivers/infiniband/ulp/isert/Kconfig"
3f1244a2 109
7d6f728c 110source "drivers/infiniband/ulp/opa_vnic/Kconfig"
592e8b32 111
06cc8508 112endif # INFINIBAND