116 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.6 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/mana/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
 |