Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[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
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
16if INFINIBAND
17
17781cd6
JL
18config 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
28config 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
40config 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
48config 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
54config 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 66config 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
74config 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 83if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
1da177e4 84source "drivers/infiniband/hw/mthca/Kconfig"
f931551b 85source "drivers/infiniband/hw/qib/Kconfig"
b038ced7 86source "drivers/infiniband/hw/cxgb3/Kconfig"
cfdda9d7 87source "drivers/infiniband/hw/cxgb4/Kconfig"
f23afd75 88source "drivers/infiniband/hw/efa/Kconfig"
6e4de866 89source "drivers/infiniband/hw/i40iw/Kconfig"
225c7b1f 90source "drivers/infiniband/hw/mlx4/Kconfig"
e126ba97 91source "drivers/infiniband/hw/mlx5/Kconfig"
fe2caefc 92source "drivers/infiniband/hw/ocrdma/Kconfig"
29c8d9eb 93source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
e3cf00d0 94source "drivers/infiniband/hw/usnic/Kconfig"
8793f779 95source "drivers/infiniband/hw/hns/Kconfig"
6fa8f1af
SR
96source "drivers/infiniband/hw/bnxt_re/Kconfig"
97source "drivers/infiniband/hw/hfi1/Kconfig"
98source "drivers/infiniband/hw/qedr/Kconfig"
99source "drivers/infiniband/sw/rdmavt/Kconfig"
100source "drivers/infiniband/sw/rxe/Kconfig"
c0cf5bdd 101source "drivers/infiniband/sw/siw/Kconfig"
6fa8f1af 102endif
225c7b1f 103
1da177e4
LT
104source "drivers/infiniband/ulp/ipoib/Kconfig"
105
aef9ec39 106source "drivers/infiniband/ulp/srp/Kconfig"
a42d985b 107source "drivers/infiniband/ulp/srpt/Kconfig"
aef9ec39 108
3f1244a2 109source "drivers/infiniband/ulp/iser/Kconfig"
b8d26b3b 110source "drivers/infiniband/ulp/isert/Kconfig"
3f1244a2 111
7d6f728c 112source "drivers/infiniband/ulp/opa_vnic/Kconfig"
592e8b32 113
06cc8508 114endif # INFINIBAND