xref: /openbmc/linux/drivers/infiniband/Kconfig (revision 7156fc29)
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_LEGACY_VERBS_NEW_UAPI
39	bool "Allow experimental legacy verbs in new ioctl uAPI  (EXPERIMENTAL)"
40	depends on INFINIBAND_USER_ACCESS
41	---help---
42	  IOCTL based uAPI support for Infiniband is enabled by default for
43	  new verbs only. This allows userspace to invoke the IOCTL based uAPI
44	  for current legacy verbs too.
45
46config INFINIBAND_USER_MEM
47	bool
48	depends on INFINIBAND_USER_ACCESS != n
49	depends on MMU
50	default y
51
52config INFINIBAND_ON_DEMAND_PAGING
53	bool "InfiniBand on-demand paging support"
54	depends on INFINIBAND_USER_MEM
55	select MMU_NOTIFIER
56	default y
57	---help---
58	  On demand paging support for the InfiniBand subsystem.
59	  Together with driver support this allows registration of
60	  memory regions without pinning their pages, fetching the
61	  pages on demand instead.
62
63config INFINIBAND_ADDR_TRANS
64	bool
65	depends on INFINIBAND
66	default y
67
68config INFINIBAND_ADDR_TRANS_CONFIGFS
69	bool
70	depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
71	default y
72	---help---
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
77source "drivers/infiniband/hw/mthca/Kconfig"
78source "drivers/infiniband/hw/qib/Kconfig"
79source "drivers/infiniband/hw/cxgb3/Kconfig"
80source "drivers/infiniband/hw/cxgb4/Kconfig"
81source "drivers/infiniband/hw/i40iw/Kconfig"
82source "drivers/infiniband/hw/mlx4/Kconfig"
83source "drivers/infiniband/hw/mlx5/Kconfig"
84source "drivers/infiniband/hw/nes/Kconfig"
85source "drivers/infiniband/hw/ocrdma/Kconfig"
86source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
87source "drivers/infiniband/hw/usnic/Kconfig"
88source "drivers/infiniband/hw/hns/Kconfig"
89
90source "drivers/infiniband/ulp/ipoib/Kconfig"
91
92source "drivers/infiniband/ulp/srp/Kconfig"
93source "drivers/infiniband/ulp/srpt/Kconfig"
94
95source "drivers/infiniband/ulp/iser/Kconfig"
96source "drivers/infiniband/ulp/isert/Kconfig"
97
98source "drivers/infiniband/ulp/opa_vnic/Kconfig"
99source "drivers/infiniband/sw/rdmavt/Kconfig"
100source "drivers/infiniband/sw/rxe/Kconfig"
101
102source "drivers/infiniband/hw/hfi1/Kconfig"
103
104source "drivers/infiniband/hw/qedr/Kconfig"
105
106source "drivers/infiniband/hw/bnxt_re/Kconfig"
107
108endif # INFINIBAND
109