116 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2menuconfig INFINIBAND3 tristate "InfiniBand support"4 depends on HAS_IOMEM && HAS_DMA5 depends on NET6 depends on INET7 depends on m || IPV6 != m8 depends on !ALPHA9 select IRQ_POLL10 select DIMLIB11 help12 Core support for InfiniBand (IB). Make sure to also select13 any protocols you wish to use as well as drivers for your14 InfiniBand hardware.15 16if INFINIBAND17 18config INFINIBAND_USER_MAD19 tristate "InfiniBand userspace MAD support"20 depends on INFINIBAND21 help22 Userspace InfiniBand Management Datagram (MAD) support. This23 is the kernel side of the userspace MAD support, which allows24 userspace processes to send and receive MADs. You will also25 need libibumad from rdma-core26 <https://github.com/linux-rdma/rdma-core>.27 28config INFINIBAND_USER_ACCESS29 tristate "InfiniBand userspace access (verbs and CM)"30 depends on MMU31 help32 Userspace InfiniBand access support. This enables the33 kernel side of userspace verbs and the userspace34 communication manager (CM). This allows userspace processes35 to set up connections and directly access InfiniBand36 hardware for fast-path operations. You will also need37 libibverbs, libibcm and a hardware driver library from38 rdma-core <https://github.com/linux-rdma/rdma-core>.39 40config INFINIBAND_USER_MEM41 bool42 depends on INFINIBAND_USER_ACCESS != n43 depends on MMU44 select DMA_SHARED_BUFFER45 default y46 47config INFINIBAND_ON_DEMAND_PAGING48 bool "InfiniBand on-demand paging support"49 depends on INFINIBAND_USER_MEM50 select MMU_NOTIFIER51 select INTERVAL_TREE52 select HMM_MIRROR53 default y54 help55 On demand paging support for the InfiniBand subsystem.56 Together with driver support this allows registration of57 memory regions without pinning their pages, fetching the58 pages on demand instead.59 60config INFINIBAND_ADDR_TRANS61 bool "RDMA/CM"62 depends on INFINIBAND63 default y64 help65 Support for RDMA communication manager (CM).66 This allows for a generic connection abstraction over RDMA.67 68config INFINIBAND_ADDR_TRANS_CONFIGFS69 bool70 depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)71 default y72 help73 ConfigFS support for RDMA communication manager (CM).74 This allows the user to config the default GID type that the CM75 uses for each device, when initiaing new connections.76 77config INFINIBAND_VIRT_DMA78 def_bool !HIGHMEM79 80if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS81if !UML82source "drivers/infiniband/hw/bnxt_re/Kconfig"83source "drivers/infiniband/hw/cxgb4/Kconfig"84source "drivers/infiniband/hw/efa/Kconfig"85source "drivers/infiniband/hw/erdma/Kconfig"86source "drivers/infiniband/hw/hfi1/Kconfig"87source "drivers/infiniband/hw/hns/Kconfig"88source "drivers/infiniband/hw/irdma/Kconfig"89source "drivers/infiniband/hw/mana/Kconfig"90source "drivers/infiniband/hw/mlx4/Kconfig"91source "drivers/infiniband/hw/mlx5/Kconfig"92source "drivers/infiniband/hw/mthca/Kconfig"93source "drivers/infiniband/hw/ocrdma/Kconfig"94source "drivers/infiniband/hw/qedr/Kconfig"95source "drivers/infiniband/hw/qib/Kconfig"96source "drivers/infiniband/hw/usnic/Kconfig"97source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"98source "drivers/infiniband/sw/rdmavt/Kconfig"99endif # !UML100source "drivers/infiniband/sw/rxe/Kconfig"101source "drivers/infiniband/sw/siw/Kconfig"102endif103 104source "drivers/infiniband/ulp/ipoib/Kconfig"105 106source "drivers/infiniband/ulp/srp/Kconfig"107source "drivers/infiniband/ulp/srpt/Kconfig"108 109source "drivers/infiniband/ulp/iser/Kconfig"110source "drivers/infiniband/ulp/isert/Kconfig"111source "drivers/infiniband/ulp/rtrs/Kconfig"112 113source "drivers/infiniband/ulp/opa_vnic/Kconfig"114 115endif # INFINIBAND116