Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig INFINIBAND
0003         tristate "InfiniBand support"
0004         depends on HAS_IOMEM && HAS_DMA
0005         depends on NET
0006         depends on INET
0007         depends on m || IPV6 != m
0008         depends on !ALPHA
0009         select IRQ_POLL
0010         select DIMLIB
0011         help
0012           Core support for InfiniBand (IB).  Make sure to also select
0013           any protocols you wish to use as well as drivers for your
0014           InfiniBand hardware.
0015 
0016 if INFINIBAND
0017 
0018 config INFINIBAND_USER_MAD
0019         tristate "InfiniBand userspace MAD support"
0020         depends on INFINIBAND
0021         help
0022           Userspace InfiniBand Management Datagram (MAD) support.  This
0023           is the kernel side of the userspace MAD support, which allows
0024           userspace processes to send and receive MADs. You will also
0025           need libibumad from rdma-core
0026           <https://github.com/linux-rdma/rdma-core>.
0027 
0028 config INFINIBAND_USER_ACCESS
0029         tristate "InfiniBand userspace access (verbs and CM)"
0030         depends on MMU
0031         help
0032           Userspace InfiniBand access support.  This enables the
0033           kernel side of userspace verbs and the userspace
0034           communication manager (CM).  This allows userspace processes
0035           to set up connections and directly access InfiniBand
0036           hardware for fast-path operations.  You will also need
0037           libibverbs, libibcm and a hardware driver library from
0038           rdma-core <https://github.com/linux-rdma/rdma-core>.
0039 
0040 config INFINIBAND_USER_MEM
0041         bool
0042         depends on INFINIBAND_USER_ACCESS != n
0043         depends on MMU
0044         select DMA_SHARED_BUFFER
0045         default y
0046 
0047 config INFINIBAND_ON_DEMAND_PAGING
0048         bool "InfiniBand on-demand paging support"
0049         depends on INFINIBAND_USER_MEM
0050         select MMU_NOTIFIER
0051         select INTERVAL_TREE
0052         select HMM_MIRROR
0053         default y
0054         help
0055           On demand paging support for the InfiniBand subsystem.
0056           Together with driver support this allows registration of
0057           memory regions without pinning their pages, fetching the
0058           pages on demand instead.
0059 
0060 config INFINIBAND_ADDR_TRANS
0061         bool "RDMA/CM"
0062         depends on INFINIBAND
0063         default y
0064         help
0065           Support for RDMA communication manager (CM).
0066           This allows for a generic connection abstraction over RDMA.
0067 
0068 config INFINIBAND_ADDR_TRANS_CONFIGFS
0069         bool
0070         depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
0071         default y
0072         help
0073           ConfigFS support for RDMA communication manager (CM).
0074           This allows the user to config the default GID type that the CM
0075           uses for each device, when initiaing new connections.
0076 
0077 config INFINIBAND_VIRT_DMA
0078         def_bool !HIGHMEM
0079 
0080 if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
0081 source "drivers/infiniband/hw/bnxt_re/Kconfig"
0082 source "drivers/infiniband/hw/cxgb4/Kconfig"
0083 source "drivers/infiniband/hw/efa/Kconfig"
0084 source "drivers/infiniband/hw/erdma/Kconfig"
0085 source "drivers/infiniband/hw/hfi1/Kconfig"
0086 source "drivers/infiniband/hw/hns/Kconfig"
0087 source "drivers/infiniband/hw/irdma/Kconfig"
0088 source "drivers/infiniband/hw/mlx4/Kconfig"
0089 source "drivers/infiniband/hw/mlx5/Kconfig"
0090 source "drivers/infiniband/hw/mthca/Kconfig"
0091 source "drivers/infiniband/hw/ocrdma/Kconfig"
0092 source "drivers/infiniband/hw/qedr/Kconfig"
0093 source "drivers/infiniband/hw/qib/Kconfig"
0094 source "drivers/infiniband/hw/usnic/Kconfig"
0095 source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
0096 source "drivers/infiniband/sw/rdmavt/Kconfig"
0097 source "drivers/infiniband/sw/rxe/Kconfig"
0098 source "drivers/infiniband/sw/siw/Kconfig"
0099 endif
0100 
0101 source "drivers/infiniband/ulp/ipoib/Kconfig"
0102 
0103 source "drivers/infiniband/ulp/srp/Kconfig"
0104 source "drivers/infiniband/ulp/srpt/Kconfig"
0105 
0106 source "drivers/infiniband/ulp/iser/Kconfig"
0107 source "drivers/infiniband/ulp/isert/Kconfig"
0108 source "drivers/infiniband/ulp/rtrs/Kconfig"
0109 
0110 source "drivers/infiniband/ulp/opa_vnic/Kconfig"
0111 
0112 endif # INFINIBAND