RDMA/siw: Annotate struct siw_pbl with __counted_by
[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
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
16if INFINIBAND
17
17781cd6
JL
18config 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
28config 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
40config 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
47config 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 60config 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
68config 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
77config INFINIBAND_VIRT_DMA
78 def_bool !HIGHMEM
79
6fa8f1af 80if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
323a74fc 81if !UML
ca7fd6cf 82source "drivers/infiniband/hw/bnxt_re/Kconfig"
cfdda9d7 83source "drivers/infiniband/hw/cxgb4/Kconfig"
f23afd75 84source "drivers/infiniband/hw/efa/Kconfig"
ca7fd6cf
CX
85source "drivers/infiniband/hw/erdma/Kconfig"
86source "drivers/infiniband/hw/hfi1/Kconfig"
87source "drivers/infiniband/hw/hns/Kconfig"
fa0cf568 88source "drivers/infiniband/hw/irdma/Kconfig"
0266a177 89source "drivers/infiniband/hw/mana/Kconfig"
225c7b1f 90source "drivers/infiniband/hw/mlx4/Kconfig"
e126ba97 91source "drivers/infiniband/hw/mlx5/Kconfig"
ca7fd6cf 92source "drivers/infiniband/hw/mthca/Kconfig"
fe2caefc 93source "drivers/infiniband/hw/ocrdma/Kconfig"
6fa8f1af 94source "drivers/infiniband/hw/qedr/Kconfig"
ca7fd6cf
CX
95source "drivers/infiniband/hw/qib/Kconfig"
96source "drivers/infiniband/hw/usnic/Kconfig"
97source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
6fa8f1af 98source "drivers/infiniband/sw/rdmavt/Kconfig"
323a74fc 99endif # !UML
6fa8f1af 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"
c013fbc1 111source "drivers/infiniband/ulp/rtrs/Kconfig"
3f1244a2 112
7d6f728c 113source "drivers/infiniband/ulp/opa_vnic/Kconfig"
592e8b32 114
06cc8508 115endif # INFINIBAND