162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_cimenuconfig INFINIBAND 362306a36Sopenharmony_ci tristate "InfiniBand support" 462306a36Sopenharmony_ci depends on HAS_IOMEM && HAS_DMA 562306a36Sopenharmony_ci depends on NET 662306a36Sopenharmony_ci depends on INET 762306a36Sopenharmony_ci depends on m || IPV6 != m 862306a36Sopenharmony_ci depends on !ALPHA 962306a36Sopenharmony_ci select IRQ_POLL 1062306a36Sopenharmony_ci select DIMLIB 1162306a36Sopenharmony_ci help 1262306a36Sopenharmony_ci Core support for InfiniBand (IB). Make sure to also select 1362306a36Sopenharmony_ci any protocols you wish to use as well as drivers for your 1462306a36Sopenharmony_ci InfiniBand hardware. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciif INFINIBAND 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciconfig INFINIBAND_USER_MAD 1962306a36Sopenharmony_ci tristate "InfiniBand userspace MAD support" 2062306a36Sopenharmony_ci depends on INFINIBAND 2162306a36Sopenharmony_ci help 2262306a36Sopenharmony_ci Userspace InfiniBand Management Datagram (MAD) support. This 2362306a36Sopenharmony_ci is the kernel side of the userspace MAD support, which allows 2462306a36Sopenharmony_ci userspace processes to send and receive MADs. You will also 2562306a36Sopenharmony_ci need libibumad from rdma-core 2662306a36Sopenharmony_ci <https://github.com/linux-rdma/rdma-core>. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciconfig INFINIBAND_USER_ACCESS 2962306a36Sopenharmony_ci tristate "InfiniBand userspace access (verbs and CM)" 3062306a36Sopenharmony_ci depends on MMU 3162306a36Sopenharmony_ci help 3262306a36Sopenharmony_ci Userspace InfiniBand access support. This enables the 3362306a36Sopenharmony_ci kernel side of userspace verbs and the userspace 3462306a36Sopenharmony_ci communication manager (CM). This allows userspace processes 3562306a36Sopenharmony_ci to set up connections and directly access InfiniBand 3662306a36Sopenharmony_ci hardware for fast-path operations. You will also need 3762306a36Sopenharmony_ci libibverbs, libibcm and a hardware driver library from 3862306a36Sopenharmony_ci rdma-core <https://github.com/linux-rdma/rdma-core>. 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ciconfig INFINIBAND_USER_MEM 4162306a36Sopenharmony_ci bool 4262306a36Sopenharmony_ci depends on INFINIBAND_USER_ACCESS != n 4362306a36Sopenharmony_ci depends on MMU 4462306a36Sopenharmony_ci select DMA_SHARED_BUFFER 4562306a36Sopenharmony_ci default y 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciconfig INFINIBAND_ON_DEMAND_PAGING 4862306a36Sopenharmony_ci bool "InfiniBand on-demand paging support" 4962306a36Sopenharmony_ci depends on INFINIBAND_USER_MEM 5062306a36Sopenharmony_ci select MMU_NOTIFIER 5162306a36Sopenharmony_ci select INTERVAL_TREE 5262306a36Sopenharmony_ci select HMM_MIRROR 5362306a36Sopenharmony_ci default y 5462306a36Sopenharmony_ci help 5562306a36Sopenharmony_ci On demand paging support for the InfiniBand subsystem. 5662306a36Sopenharmony_ci Together with driver support this allows registration of 5762306a36Sopenharmony_ci memory regions without pinning their pages, fetching the 5862306a36Sopenharmony_ci pages on demand instead. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciconfig INFINIBAND_ADDR_TRANS 6162306a36Sopenharmony_ci bool "RDMA/CM" 6262306a36Sopenharmony_ci depends on INFINIBAND 6362306a36Sopenharmony_ci default y 6462306a36Sopenharmony_ci help 6562306a36Sopenharmony_ci Support for RDMA communication manager (CM). 6662306a36Sopenharmony_ci This allows for a generic connection abstraction over RDMA. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciconfig INFINIBAND_ADDR_TRANS_CONFIGFS 6962306a36Sopenharmony_ci bool 7062306a36Sopenharmony_ci depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) 7162306a36Sopenharmony_ci default y 7262306a36Sopenharmony_ci help 7362306a36Sopenharmony_ci ConfigFS support for RDMA communication manager (CM). 7462306a36Sopenharmony_ci This allows the user to config the default GID type that the CM 7562306a36Sopenharmony_ci uses for each device, when initiaing new connections. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciconfig INFINIBAND_VIRT_DMA 7862306a36Sopenharmony_ci def_bool !HIGHMEM 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciif INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS 8162306a36Sopenharmony_ciif !UML 8262306a36Sopenharmony_cisource "drivers/infiniband/hw/bnxt_re/Kconfig" 8362306a36Sopenharmony_cisource "drivers/infiniband/hw/cxgb4/Kconfig" 8462306a36Sopenharmony_cisource "drivers/infiniband/hw/efa/Kconfig" 8562306a36Sopenharmony_cisource "drivers/infiniband/hw/erdma/Kconfig" 8662306a36Sopenharmony_cisource "drivers/infiniband/hw/hfi1/Kconfig" 8762306a36Sopenharmony_cisource "drivers/infiniband/hw/hns/Kconfig" 8862306a36Sopenharmony_cisource "drivers/infiniband/hw/irdma/Kconfig" 8962306a36Sopenharmony_cisource "drivers/infiniband/hw/mana/Kconfig" 9062306a36Sopenharmony_cisource "drivers/infiniband/hw/mlx4/Kconfig" 9162306a36Sopenharmony_cisource "drivers/infiniband/hw/mlx5/Kconfig" 9262306a36Sopenharmony_cisource "drivers/infiniband/hw/mthca/Kconfig" 9362306a36Sopenharmony_cisource "drivers/infiniband/hw/ocrdma/Kconfig" 9462306a36Sopenharmony_cisource "drivers/infiniband/hw/qedr/Kconfig" 9562306a36Sopenharmony_cisource "drivers/infiniband/hw/qib/Kconfig" 9662306a36Sopenharmony_cisource "drivers/infiniband/hw/usnic/Kconfig" 9762306a36Sopenharmony_cisource "drivers/infiniband/hw/vmw_pvrdma/Kconfig" 9862306a36Sopenharmony_cisource "drivers/infiniband/sw/rdmavt/Kconfig" 9962306a36Sopenharmony_ciendif # !UML 10062306a36Sopenharmony_cisource "drivers/infiniband/sw/rxe/Kconfig" 10162306a36Sopenharmony_cisource "drivers/infiniband/sw/siw/Kconfig" 10262306a36Sopenharmony_ciendif 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_cisource "drivers/infiniband/ulp/ipoib/Kconfig" 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_cisource "drivers/infiniband/ulp/srp/Kconfig" 10762306a36Sopenharmony_cisource "drivers/infiniband/ulp/srpt/Kconfig" 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_cisource "drivers/infiniband/ulp/iser/Kconfig" 11062306a36Sopenharmony_cisource "drivers/infiniband/ulp/isert/Kconfig" 11162306a36Sopenharmony_cisource "drivers/infiniband/ulp/rtrs/Kconfig" 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_cisource "drivers/infiniband/ulp/opa_vnic/Kconfig" 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ciendif # INFINIBAND 116