Loading...
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig 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 select DIMLIB
11 help
12 Core support for InfiniBand (IB). Make sure to also select
13 any protocols you wish to use as well as drivers for your
14 InfiniBand hardware.
15
16if INFINIBAND
17
18config INFINIBAND_USER_MAD
19 tristate "InfiniBand userspace MAD support"
20 depends on INFINIBAND
21 help
22 Userspace InfiniBand Management Datagram (MAD) support. This
23 is the kernel side of the userspace MAD support, which allows
24 userspace processes to send and receive MADs. You will also
25 need libibumad from rdma-core
26 <https://github.com/linux-rdma/rdma-core>.
27
28config INFINIBAND_USER_ACCESS
29 tristate "InfiniBand userspace access (verbs and CM)"
30 depends on MMU
31 help
32 Userspace InfiniBand access support. This enables the
33 kernel side of userspace verbs and the userspace
34 communication manager (CM). This allows userspace processes
35 to set up connections and directly access InfiniBand
36 hardware for fast-path operations. You will also need
37 libibverbs, libibcm and a hardware driver library from
38 rdma-core <https://github.com/linux-rdma/rdma-core>.
39
40config INFINIBAND_USER_MEM
41 bool
42 depends on INFINIBAND_USER_ACCESS != n
43 depends on MMU
44 select DMA_SHARED_BUFFER
45 default y
46
47config INFINIBAND_ON_DEMAND_PAGING
48 bool "InfiniBand on-demand paging support"
49 depends on INFINIBAND_USER_MEM
50 select MMU_NOTIFIER
51 select INTERVAL_TREE
52 select HMM_MIRROR
53 default y
54 help
55 On demand paging support for the InfiniBand subsystem.
56 Together with driver support this allows registration of
57 memory regions without pinning their pages, fetching the
58 pages on demand instead.
59
60config INFINIBAND_ADDR_TRANS
61 bool "RDMA/CM"
62 depends on INFINIBAND
63 default y
64 help
65 Support for RDMA communication manager (CM).
66 This allows for a generic connection abstraction over RDMA.
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
77config INFINIBAND_VIRT_DMA
78 def_bool !HIGHMEM
79
80if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
81if !UML
82source "drivers/infiniband/hw/bnxt_re/Kconfig"
83source "drivers/infiniband/hw/cxgb4/Kconfig"
84source "drivers/infiniband/hw/efa/Kconfig"
85source "drivers/infiniband/hw/erdma/Kconfig"
86source "drivers/infiniband/hw/hfi1/Kconfig"
87source "drivers/infiniband/hw/hns/Kconfig"
88source "drivers/infiniband/hw/irdma/Kconfig"
89source "drivers/infiniband/hw/mana/Kconfig"
90source "drivers/infiniband/hw/mlx4/Kconfig"
91source "drivers/infiniband/hw/mlx5/Kconfig"
92source "drivers/infiniband/hw/mthca/Kconfig"
93source "drivers/infiniband/hw/ocrdma/Kconfig"
94source "drivers/infiniband/hw/qedr/Kconfig"
95source "drivers/infiniband/hw/qib/Kconfig"
96source "drivers/infiniband/hw/usnic/Kconfig"
97source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
98source "drivers/infiniband/sw/rdmavt/Kconfig"
99endif # !UML
100source "drivers/infiniband/sw/rxe/Kconfig"
101source "drivers/infiniband/sw/siw/Kconfig"
102endif
103
104source "drivers/infiniband/ulp/ipoib/Kconfig"
105
106source "drivers/infiniband/ulp/srp/Kconfig"
107source "drivers/infiniband/ulp/srpt/Kconfig"
108
109source "drivers/infiniband/ulp/iser/Kconfig"
110source "drivers/infiniband/ulp/isert/Kconfig"
111source "drivers/infiniband/ulp/rtrs/Kconfig"
112
113source "drivers/infiniband/ulp/opa_vnic/Kconfig"
114
115endif # INFINIBAND
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig 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 select DIMLIB
11 help
12 Core support for InfiniBand (IB). Make sure to also select
13 any protocols you wish to use as well as drivers for your
14 InfiniBand hardware.
15
16if INFINIBAND
17
18config INFINIBAND_USER_MAD
19 tristate "InfiniBand userspace MAD support"
20 depends on INFINIBAND
21 help
22 Userspace InfiniBand Management Datagram (MAD) support. This
23 is the kernel side of the userspace MAD support, which allows
24 userspace processes to send and receive MADs. You will also
25 need libibumad from rdma-core
26 <https://github.com/linux-rdma/rdma-core>.
27
28config INFINIBAND_USER_ACCESS
29 tristate "InfiniBand userspace access (verbs and CM)"
30 depends on MMU
31 help
32 Userspace InfiniBand access support. This enables the
33 kernel side of userspace verbs and the userspace
34 communication manager (CM). This allows userspace processes
35 to set up connections and directly access InfiniBand
36 hardware for fast-path operations. You will also need
37 libibverbs, libibcm and a hardware driver library from
38 rdma-core <https://github.com/linux-rdma/rdma-core>.
39
40config INFINIBAND_USER_MEM
41 bool
42 depends on INFINIBAND_USER_ACCESS != n
43 depends on MMU
44 select DMA_SHARED_BUFFER
45 default y
46
47config INFINIBAND_ON_DEMAND_PAGING
48 bool "InfiniBand on-demand paging support"
49 depends on INFINIBAND_USER_MEM
50 select MMU_NOTIFIER
51 select INTERVAL_TREE
52 select HMM_MIRROR
53 default y
54 help
55 On demand paging support for the InfiniBand subsystem.
56 Together with driver support this allows registration of
57 memory regions without pinning their pages, fetching the
58 pages on demand instead.
59
60config INFINIBAND_ADDR_TRANS
61 bool "RDMA/CM"
62 depends on INFINIBAND
63 default y
64 help
65 Support for RDMA communication manager (CM).
66 This allows for a generic connection abstraction over RDMA.
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
77config INFINIBAND_VIRT_DMA
78 def_bool !HIGHMEM
79
80if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
81if !UML
82source "drivers/infiniband/hw/bnxt_re/Kconfig"
83source "drivers/infiniband/hw/cxgb4/Kconfig"
84source "drivers/infiniband/hw/efa/Kconfig"
85source "drivers/infiniband/hw/erdma/Kconfig"
86source "drivers/infiniband/hw/hfi1/Kconfig"
87source "drivers/infiniband/hw/hns/Kconfig"
88source "drivers/infiniband/hw/irdma/Kconfig"
89source "drivers/infiniband/hw/mana/Kconfig"
90source "drivers/infiniband/hw/mlx4/Kconfig"
91source "drivers/infiniband/hw/mlx5/Kconfig"
92source "drivers/infiniband/hw/mthca/Kconfig"
93source "drivers/infiniband/hw/ocrdma/Kconfig"
94source "drivers/infiniband/hw/qedr/Kconfig"
95source "drivers/infiniband/hw/qib/Kconfig"
96source "drivers/infiniband/hw/usnic/Kconfig"
97source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
98source "drivers/infiniband/sw/rdmavt/Kconfig"
99endif # !UML
100source "drivers/infiniband/sw/rxe/Kconfig"
101source "drivers/infiniband/sw/siw/Kconfig"
102endif
103
104source "drivers/infiniband/ulp/ipoib/Kconfig"
105
106source "drivers/infiniband/ulp/srp/Kconfig"
107source "drivers/infiniband/ulp/srpt/Kconfig"
108
109source "drivers/infiniband/ulp/iser/Kconfig"
110source "drivers/infiniband/ulp/isert/Kconfig"
111source "drivers/infiniband/ulp/rtrs/Kconfig"
112
113source "drivers/infiniband/ulp/opa_vnic/Kconfig"
114
115endif # INFINIBAND