115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# 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
 | 
						|
	select DMA_SHARED_BUFFER
 | 
						|
	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
 | 
						|
if !UML
 | 
						|
source "drivers/infiniband/hw/bnxt_re/Kconfig"
 | 
						|
source "drivers/infiniband/hw/cxgb4/Kconfig"
 | 
						|
source "drivers/infiniband/hw/efa/Kconfig"
 | 
						|
source "drivers/infiniband/hw/erdma/Kconfig"
 | 
						|
source "drivers/infiniband/hw/hfi1/Kconfig"
 | 
						|
source "drivers/infiniband/hw/hns/Kconfig"
 | 
						|
source "drivers/infiniband/hw/irdma/Kconfig"
 | 
						|
source "drivers/infiniband/hw/mlx4/Kconfig"
 | 
						|
source "drivers/infiniband/hw/mlx5/Kconfig"
 | 
						|
source "drivers/infiniband/hw/mthca/Kconfig"
 | 
						|
source "drivers/infiniband/hw/ocrdma/Kconfig"
 | 
						|
source "drivers/infiniband/hw/qedr/Kconfig"
 | 
						|
source "drivers/infiniband/hw/qib/Kconfig"
 | 
						|
source "drivers/infiniband/hw/usnic/Kconfig"
 | 
						|
source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
 | 
						|
source "drivers/infiniband/sw/rdmavt/Kconfig"
 | 
						|
endif # !UML
 | 
						|
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
 |