diff options
Diffstat (limited to 'drivers/infiniband/Kconfig')
-rw-r--r-- | drivers/infiniband/Kconfig | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig new file mode 100644 index 0000000000..a5827d11e9 --- /dev/null +++ b/drivers/infiniband/Kconfig @@ -0,0 +1,115 @@ +# 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 |