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