xref: /openbmc/linux/drivers/infiniband/Kconfig (revision 160b8e75)
1menuconfig INFINIBAND
2	tristate "InfiniBand support"
3	depends on HAS_IOMEM && HAS_DMA
4	depends on NET
5	depends on INET
6	depends on m || IPV6 != m
7	depends on !ALPHA
8	select IRQ_POLL
9	---help---
10	  Core support for InfiniBand (IB).  Make sure to also select
11	  any protocols you wish to use as well as drivers for your
12	  InfiniBand hardware.
13
14if INFINIBAND
15
16config INFINIBAND_USER_MAD
17	tristate "InfiniBand userspace MAD support"
18	depends on INFINIBAND
19	---help---
20	  Userspace InfiniBand Management Datagram (MAD) support.  This
21	  is the kernel side of the userspace MAD support, which allows
22	  userspace processes to send and receive MADs. You will also
23	  need libibumad from rdma-core
24	  <https://github.com/linux-rdma/rdma-core>.
25
26config INFINIBAND_USER_ACCESS
27	tristate "InfiniBand userspace access (verbs and CM)"
28	select ANON_INODES
29	---help---
30	  Userspace InfiniBand access support.  This enables the
31	  kernel side of userspace verbs and the userspace
32	  communication manager (CM).  This allows userspace processes
33	  to set up connections and directly access InfiniBand
34	  hardware for fast-path operations.  You will also need
35	  libibverbs, libibcm and a hardware driver library from
36	  rdma-core <https://github.com/linux-rdma/rdma-core>.
37
38config INFINIBAND_EXP_USER_ACCESS
39	bool "Enable the full uverbs ioctl interface (EXPERIMENTAL)"
40	depends on INFINIBAND_USER_ACCESS
41	---help---
42	  IOCTL based ABI support for Infiniband. This allows userspace
43	  to invoke the experimental IOCTL based ABI.
44	  These commands are parsed via per-device parsing tree and
45	  enables per-device features.
46
47config INFINIBAND_USER_MEM
48	bool
49	depends on INFINIBAND_USER_ACCESS != n
50	depends on MMU
51	default y
52
53config INFINIBAND_ON_DEMAND_PAGING
54	bool "InfiniBand on-demand paging support"
55	depends on INFINIBAND_USER_MEM
56	select MMU_NOTIFIER
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
64config INFINIBAND_ADDR_TRANS
65	bool
66	depends on INFINIBAND
67	default y
68
69config INFINIBAND_ADDR_TRANS_CONFIGFS
70	bool
71	depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
72	default y
73	---help---
74	  ConfigFS support for RDMA communication manager (CM).
75	  This allows the user to config the default GID type that the CM
76	  uses for each device, when initiaing new connections.
77
78source "drivers/infiniband/hw/mthca/Kconfig"
79source "drivers/infiniband/hw/qib/Kconfig"
80source "drivers/infiniband/hw/cxgb3/Kconfig"
81source "drivers/infiniband/hw/cxgb4/Kconfig"
82source "drivers/infiniband/hw/i40iw/Kconfig"
83source "drivers/infiniband/hw/mlx4/Kconfig"
84source "drivers/infiniband/hw/mlx5/Kconfig"
85source "drivers/infiniband/hw/nes/Kconfig"
86source "drivers/infiniband/hw/ocrdma/Kconfig"
87source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
88source "drivers/infiniband/hw/usnic/Kconfig"
89source "drivers/infiniband/hw/hns/Kconfig"
90
91source "drivers/infiniband/ulp/ipoib/Kconfig"
92
93source "drivers/infiniband/ulp/srp/Kconfig"
94source "drivers/infiniband/ulp/srpt/Kconfig"
95
96source "drivers/infiniband/ulp/iser/Kconfig"
97source "drivers/infiniband/ulp/isert/Kconfig"
98
99source "drivers/infiniband/ulp/opa_vnic/Kconfig"
100source "drivers/infiniband/sw/rdmavt/Kconfig"
101source "drivers/infiniband/sw/rxe/Kconfig"
102
103source "drivers/infiniband/hw/hfi1/Kconfig"
104
105source "drivers/infiniband/hw/qedr/Kconfig"
106
107source "drivers/infiniband/hw/bnxt_re/Kconfig"
108
109endif # INFINIBAND
110