Kconfig 3.4 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0-only
2
menuconfig INFINIBAND
L
Linus Torvalds 已提交
3
	tristate "InfiniBand support"
4
	depends on HAS_IOMEM && HAS_DMA
R
Roland Dreier 已提交
5
	depends on NET
6 7
	depends on INET
	depends on m || IPV6 != m
8
	depends on !ALPHA
9
	select IRQ_POLL
10
	select DIMLIB
11
	help
L
Linus Torvalds 已提交
12 13 14 15
	  Core support for InfiniBand (IB).  Make sure to also select
	  any protocols you wish to use as well as drivers for your
	  InfiniBand hardware.

16 17
if INFINIBAND

18 19
config INFINIBAND_USER_MAD
	tristate "InfiniBand userspace MAD support"
20
	depends on INFINIBAND
21
	help
22 23
	  Userspace InfiniBand Management Datagram (MAD) support.  This
	  is the kernel side of the userspace MAD support, which allows
R
Roland Dreier 已提交
24
	  userspace processes to send and receive MADs. You will also
25 26
	  need libibumad from rdma-core
	  <https://github.com/linux-rdma/rdma-core>.
27 28 29

config INFINIBAND_USER_ACCESS
	tristate "InfiniBand userspace access (verbs and CM)"
30
	depends on MMU
31
	help
32 33 34 35 36 37
	  Userspace InfiniBand access support.  This enables the
	  kernel side of userspace verbs and the userspace
	  communication manager (CM).  This allows userspace processes
	  to set up connections and directly access InfiniBand
	  hardware for fast-path operations.  You will also need
	  libibverbs, libibcm and a hardware driver library from
38
	  rdma-core <https://github.com/linux-rdma/rdma-core>.
39

40 41 42
config INFINIBAND_USER_MEM
	bool
	depends on INFINIBAND_USER_ACCESS != n
43
	depends on MMU
44 45
	default y

46 47 48
config INFINIBAND_ON_DEMAND_PAGING
	bool "InfiniBand on-demand paging support"
	depends on INFINIBAND_USER_MEM
49
	select MMU_NOTIFIER
50
	select INTERVAL_TREE
51
	select HMM_MIRROR
52
	default y
53
	help
54 55 56 57 58
	  On demand paging support for the InfiniBand subsystem.
	  Together with driver support this allows registration of
	  memory regions without pinning their pages, fetching the
	  pages on demand instead.

59
config INFINIBAND_ADDR_TRANS
60
	bool "RDMA/CM"
61
	depends on INFINIBAND
62
	default y
63
	help
64 65
	  Support for RDMA communication manager (CM).
	  This allows for a generic connection abstraction over RDMA.
66

M
Matan Barak 已提交
67 68 69 70
config INFINIBAND_ADDR_TRANS_CONFIGFS
	bool
	depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
	default y
71
	help
M
Matan Barak 已提交
72 73 74 75
	  ConfigFS support for RDMA communication manager (CM).
	  This allows the user to config the default GID type that the CM
	  uses for each device, when initiaing new connections.

76 77 78
config INFINIBAND_VIRT_DMA
	def_bool !HIGHMEM

79
if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
L
Linus Torvalds 已提交
80
source "drivers/infiniband/hw/mthca/Kconfig"
81
source "drivers/infiniband/hw/qib/Kconfig"
82
source "drivers/infiniband/hw/cxgb4/Kconfig"
83
source "drivers/infiniband/hw/efa/Kconfig"
84
source "drivers/infiniband/hw/i40iw/Kconfig"
85
source "drivers/infiniband/hw/mlx4/Kconfig"
86
source "drivers/infiniband/hw/mlx5/Kconfig"
87
source "drivers/infiniband/hw/ocrdma/Kconfig"
A
Adit Ranadive 已提交
88
source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
89
source "drivers/infiniband/hw/usnic/Kconfig"
90
source "drivers/infiniband/hw/hns/Kconfig"
91 92 93 94 95
source "drivers/infiniband/hw/bnxt_re/Kconfig"
source "drivers/infiniband/hw/hfi1/Kconfig"
source "drivers/infiniband/hw/qedr/Kconfig"
source "drivers/infiniband/sw/rdmavt/Kconfig"
source "drivers/infiniband/sw/rxe/Kconfig"
96
source "drivers/infiniband/sw/siw/Kconfig"
97
endif
98

L
Linus Torvalds 已提交
99 100
source "drivers/infiniband/ulp/ipoib/Kconfig"

101
source "drivers/infiniband/ulp/srp/Kconfig"
102
source "drivers/infiniband/ulp/srpt/Kconfig"
103

O
Or Gerlitz 已提交
104
source "drivers/infiniband/ulp/iser/Kconfig"
105
source "drivers/infiniband/ulp/isert/Kconfig"
106
source "drivers/infiniband/ulp/rtrs/Kconfig"
O
Or Gerlitz 已提交
107

108
source "drivers/infiniband/ulp/opa_vnic/Kconfig"
109

110
endif # INFINIBAND