| # 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 !ALPHA | |
| select DMA_SHARED_BUFFER | |
| 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_ACCESS_CORE | |
| bool | |
| default y if INFINIBAND_USER_ACCESS != n | |
| 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/bng_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/ionic/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/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" | |
| endif # INFINIBAND |