]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - drivers/infiniband/Kconfig
treewide: Add SPDX license identifier - Makefile/Kconfig
[mirror_ubuntu-focal-kernel.git] / drivers / infiniband / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig INFINIBAND
3 tristate "InfiniBand support"
4 depends on HAS_IOMEM && HAS_DMA
5 depends on NET
6 depends on INET
7 depends on m || IPV6 != m
8 depends on !ALPHA
9 select IRQ_POLL
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
15 if INFINIBAND
16
17 config INFINIBAND_USER_MAD
18 tristate "InfiniBand userspace MAD support"
19 depends on INFINIBAND
20 ---help---
21 Userspace InfiniBand Management Datagram (MAD) support. This
22 is the kernel side of the userspace MAD support, which allows
23 userspace processes to send and receive MADs. You will also
24 need libibumad from rdma-core
25 <https://github.com/linux-rdma/rdma-core>.
26
27 config INFINIBAND_USER_ACCESS
28 tristate "InfiniBand userspace access (verbs and CM)"
29 depends on MMU
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
37 rdma-core <https://github.com/linux-rdma/rdma-core>.
38
39 config INFINIBAND_USER_ACCESS_UCM
40 tristate "Userspace CM (UCM, DEPRECATED)"
41 depends on BROKEN || COMPILE_TEST
42 depends on INFINIBAND_USER_ACCESS
43 help
44 The UCM module has known security flaws, which no one is
45 interested to fix. The user-space part of this code was
46 dropped from the upstream a long time ago.
47
48 This option is DEPRECATED and planned to be removed.
49
50 config INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI
51 bool "Allow experimental legacy verbs in new ioctl uAPI (EXPERIMENTAL)"
52 depends on INFINIBAND_USER_ACCESS
53 ---help---
54 IOCTL based uAPI support for Infiniband is enabled by default for
55 new verbs only. This allows userspace to invoke the IOCTL based uAPI
56 for current legacy verbs too.
57
58 config INFINIBAND_USER_MEM
59 bool
60 depends on INFINIBAND_USER_ACCESS != n
61 depends on MMU
62 default y
63
64 config INFINIBAND_ON_DEMAND_PAGING
65 bool "InfiniBand on-demand paging support"
66 depends on INFINIBAND_USER_MEM
67 select MMU_NOTIFIER
68 default y
69 ---help---
70 On demand paging support for the InfiniBand subsystem.
71 Together with driver support this allows registration of
72 memory regions without pinning their pages, fetching the
73 pages on demand instead.
74
75 config INFINIBAND_ADDR_TRANS
76 bool "RDMA/CM"
77 depends on INFINIBAND
78 default y
79 ---help---
80 Support for RDMA communication manager (CM).
81 This allows for a generic connection abstraction over RDMA.
82
83 config INFINIBAND_ADDR_TRANS_CONFIGFS
84 bool
85 depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
86 default y
87 ---help---
88 ConfigFS support for RDMA communication manager (CM).
89 This allows the user to config the default GID type that the CM
90 uses for each device, when initiaing new connections.
91
92 if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
93 source "drivers/infiniband/hw/mthca/Kconfig"
94 source "drivers/infiniband/hw/qib/Kconfig"
95 source "drivers/infiniband/hw/cxgb3/Kconfig"
96 source "drivers/infiniband/hw/cxgb4/Kconfig"
97 source "drivers/infiniband/hw/efa/Kconfig"
98 source "drivers/infiniband/hw/i40iw/Kconfig"
99 source "drivers/infiniband/hw/mlx4/Kconfig"
100 source "drivers/infiniband/hw/mlx5/Kconfig"
101 source "drivers/infiniband/hw/nes/Kconfig"
102 source "drivers/infiniband/hw/ocrdma/Kconfig"
103 source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
104 source "drivers/infiniband/hw/usnic/Kconfig"
105 source "drivers/infiniband/hw/hns/Kconfig"
106 source "drivers/infiniband/hw/bnxt_re/Kconfig"
107 source "drivers/infiniband/hw/hfi1/Kconfig"
108 source "drivers/infiniband/hw/qedr/Kconfig"
109 source "drivers/infiniband/sw/rdmavt/Kconfig"
110 source "drivers/infiniband/sw/rxe/Kconfig"
111 endif
112
113 source "drivers/infiniband/ulp/ipoib/Kconfig"
114
115 source "drivers/infiniband/ulp/srp/Kconfig"
116 source "drivers/infiniband/ulp/srpt/Kconfig"
117
118 source "drivers/infiniband/ulp/iser/Kconfig"
119 source "drivers/infiniband/ulp/isert/Kconfig"
120
121 source "drivers/infiniband/ulp/opa_vnic/Kconfig"
122
123 endif # INFINIBAND