Merge branch 'next/drivers' into next/late
[sfrench/cifs-2.6.git] / drivers / infiniband / Kconfig
1 menuconfig 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
14 if INFINIBAND
15
16 config 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
26 config INFINIBAND_USER_ACCESS
27         tristate "InfiniBand userspace access (verbs and CM)"
28         select ANON_INODES
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 source "drivers/infiniband/hw/mthca/Kconfig"
93 source "drivers/infiniband/hw/qib/Kconfig"
94 source "drivers/infiniband/hw/cxgb3/Kconfig"
95 source "drivers/infiniband/hw/cxgb4/Kconfig"
96 source "drivers/infiniband/hw/i40iw/Kconfig"
97 source "drivers/infiniband/hw/mlx4/Kconfig"
98 source "drivers/infiniband/hw/mlx5/Kconfig"
99 source "drivers/infiniband/hw/nes/Kconfig"
100 source "drivers/infiniband/hw/ocrdma/Kconfig"
101 source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
102 source "drivers/infiniband/hw/usnic/Kconfig"
103 source "drivers/infiniband/hw/hns/Kconfig"
104
105 source "drivers/infiniband/ulp/ipoib/Kconfig"
106
107 source "drivers/infiniband/ulp/srp/Kconfig"
108 source "drivers/infiniband/ulp/srpt/Kconfig"
109
110 source "drivers/infiniband/ulp/iser/Kconfig"
111 source "drivers/infiniband/ulp/isert/Kconfig"
112
113 source "drivers/infiniband/ulp/opa_vnic/Kconfig"
114 source "drivers/infiniband/sw/rdmavt/Kconfig"
115 source "drivers/infiniband/sw/rxe/Kconfig"
116
117 source "drivers/infiniband/hw/hfi1/Kconfig"
118
119 source "drivers/infiniband/hw/qedr/Kconfig"
120
121 source "drivers/infiniband/hw/bnxt_re/Kconfig"
122
123 endif # INFINIBAND