18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_cimenuconfig INFINIBAND 38c2ecf20Sopenharmony_ci tristate "InfiniBand support" 48c2ecf20Sopenharmony_ci depends on HAS_IOMEM && HAS_DMA 58c2ecf20Sopenharmony_ci depends on NET 68c2ecf20Sopenharmony_ci depends on INET 78c2ecf20Sopenharmony_ci depends on m || IPV6 != m 88c2ecf20Sopenharmony_ci depends on !ALPHA 98c2ecf20Sopenharmony_ci select IRQ_POLL 108c2ecf20Sopenharmony_ci select DIMLIB 118c2ecf20Sopenharmony_ci help 128c2ecf20Sopenharmony_ci Core support for InfiniBand (IB). Make sure to also select 138c2ecf20Sopenharmony_ci any protocols you wish to use as well as drivers for your 148c2ecf20Sopenharmony_ci InfiniBand hardware. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciif INFINIBAND 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciconfig INFINIBAND_USER_MAD 198c2ecf20Sopenharmony_ci tristate "InfiniBand userspace MAD support" 208c2ecf20Sopenharmony_ci depends on INFINIBAND 218c2ecf20Sopenharmony_ci help 228c2ecf20Sopenharmony_ci Userspace InfiniBand Management Datagram (MAD) support. This 238c2ecf20Sopenharmony_ci is the kernel side of the userspace MAD support, which allows 248c2ecf20Sopenharmony_ci userspace processes to send and receive MADs. You will also 258c2ecf20Sopenharmony_ci need libibumad from rdma-core 268c2ecf20Sopenharmony_ci <https://github.com/linux-rdma/rdma-core>. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciconfig INFINIBAND_USER_ACCESS 298c2ecf20Sopenharmony_ci tristate "InfiniBand userspace access (verbs and CM)" 308c2ecf20Sopenharmony_ci depends on MMU 318c2ecf20Sopenharmony_ci help 328c2ecf20Sopenharmony_ci Userspace InfiniBand access support. This enables the 338c2ecf20Sopenharmony_ci kernel side of userspace verbs and the userspace 348c2ecf20Sopenharmony_ci communication manager (CM). This allows userspace processes 358c2ecf20Sopenharmony_ci to set up connections and directly access InfiniBand 368c2ecf20Sopenharmony_ci hardware for fast-path operations. You will also need 378c2ecf20Sopenharmony_ci libibverbs, libibcm and a hardware driver library from 388c2ecf20Sopenharmony_ci rdma-core <https://github.com/linux-rdma/rdma-core>. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ciconfig INFINIBAND_USER_MEM 418c2ecf20Sopenharmony_ci bool 428c2ecf20Sopenharmony_ci depends on INFINIBAND_USER_ACCESS != n 438c2ecf20Sopenharmony_ci depends on MMU 448c2ecf20Sopenharmony_ci default y 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ciconfig INFINIBAND_ON_DEMAND_PAGING 478c2ecf20Sopenharmony_ci bool "InfiniBand on-demand paging support" 488c2ecf20Sopenharmony_ci depends on INFINIBAND_USER_MEM 498c2ecf20Sopenharmony_ci select MMU_NOTIFIER 508c2ecf20Sopenharmony_ci select INTERVAL_TREE 518c2ecf20Sopenharmony_ci select HMM_MIRROR 528c2ecf20Sopenharmony_ci default y 538c2ecf20Sopenharmony_ci help 548c2ecf20Sopenharmony_ci On demand paging support for the InfiniBand subsystem. 558c2ecf20Sopenharmony_ci Together with driver support this allows registration of 568c2ecf20Sopenharmony_ci memory regions without pinning their pages, fetching the 578c2ecf20Sopenharmony_ci pages on demand instead. 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciconfig INFINIBAND_ADDR_TRANS 608c2ecf20Sopenharmony_ci bool "RDMA/CM" 618c2ecf20Sopenharmony_ci depends on INFINIBAND 628c2ecf20Sopenharmony_ci default y 638c2ecf20Sopenharmony_ci help 648c2ecf20Sopenharmony_ci Support for RDMA communication manager (CM). 658c2ecf20Sopenharmony_ci This allows for a generic connection abstraction over RDMA. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ciconfig INFINIBAND_ADDR_TRANS_CONFIGFS 688c2ecf20Sopenharmony_ci bool 698c2ecf20Sopenharmony_ci depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) 708c2ecf20Sopenharmony_ci default y 718c2ecf20Sopenharmony_ci help 728c2ecf20Sopenharmony_ci ConfigFS support for RDMA communication manager (CM). 738c2ecf20Sopenharmony_ci This allows the user to config the default GID type that the CM 748c2ecf20Sopenharmony_ci uses for each device, when initiaing new connections. 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ciconfig INFINIBAND_VIRT_DMA 778c2ecf20Sopenharmony_ci def_bool !HIGHMEM 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ciif INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS 808c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/mthca/Kconfig" 818c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/qib/Kconfig" 828c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/cxgb4/Kconfig" 838c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/efa/Kconfig" 848c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/i40iw/Kconfig" 858c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/mlx4/Kconfig" 868c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/mlx5/Kconfig" 878c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/ocrdma/Kconfig" 888c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/vmw_pvrdma/Kconfig" 898c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/usnic/Kconfig" 908c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/hns/Kconfig" 918c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/bnxt_re/Kconfig" 928c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/hfi1/Kconfig" 938c2ecf20Sopenharmony_cisource "drivers/infiniband/hw/qedr/Kconfig" 948c2ecf20Sopenharmony_cisource "drivers/infiniband/sw/rdmavt/Kconfig" 958c2ecf20Sopenharmony_cisource "drivers/infiniband/sw/rxe/Kconfig" 968c2ecf20Sopenharmony_cisource "drivers/infiniband/sw/siw/Kconfig" 978c2ecf20Sopenharmony_ciendif 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_cisource "drivers/infiniband/ulp/ipoib/Kconfig" 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_cisource "drivers/infiniband/ulp/srp/Kconfig" 1028c2ecf20Sopenharmony_cisource "drivers/infiniband/ulp/srpt/Kconfig" 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_cisource "drivers/infiniband/ulp/iser/Kconfig" 1058c2ecf20Sopenharmony_cisource "drivers/infiniband/ulp/isert/Kconfig" 1068c2ecf20Sopenharmony_cisource "drivers/infiniband/ulp/rtrs/Kconfig" 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_cisource "drivers/infiniband/ulp/opa_vnic/Kconfig" 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ciendif # INFINIBAND 111