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