linux/drivers/infiniband/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0-only
   2menuconfig INFINIBAND
   3        tristate "InfiniBand support"
   4        depends on HAS_IOMEM && HAS_DMA
   5        depends on NET
   6        depends on INET
   7        depends on m || IPV6 != m
   8        depends on !ALPHA
   9        select IRQ_POLL
  10        select DIMLIB
  11        help
  12          Core support for InfiniBand (IB).  Make sure to also select
  13          any protocols you wish to use as well as drivers for your
  14          InfiniBand hardware.
  15
  16if INFINIBAND
  17
  18config INFINIBAND_USER_MAD
  19        tristate "InfiniBand userspace MAD support"
  20        depends on INFINIBAND
  21        help
  22          Userspace InfiniBand Management Datagram (MAD) support.  This
  23          is the kernel side of the userspace MAD support, which allows
  24          userspace processes to send and receive MADs. You will also
  25          need libibumad from rdma-core
  26          <https://github.com/linux-rdma/rdma-core>.
  27
  28config INFINIBAND_USER_ACCESS
  29        tristate "InfiniBand userspace access (verbs and CM)"
  30        depends on MMU
  31        help
  32          Userspace InfiniBand access support.  This enables the
  33          kernel side of userspace verbs and the userspace
  34          communication manager (CM).  This allows userspace processes
  35          to set up connections and directly access InfiniBand
  36          hardware for fast-path operations.  You will also need
  37          libibverbs, libibcm and a hardware driver library from
  38          rdma-core <https://github.com/linux-rdma/rdma-core>.
  39
  40config INFINIBAND_USER_MEM
  41        bool
  42        depends on INFINIBAND_USER_ACCESS != n
  43        depends on MMU
  44        default y
  45
  46config INFINIBAND_ON_DEMAND_PAGING
  47        bool "InfiniBand on-demand paging support"
  48        depends on INFINIBAND_USER_MEM
  49        select MMU_NOTIFIER
  50        select INTERVAL_TREE
  51        select HMM_MIRROR
  52        default y
  53        help
  54          On demand paging support for the InfiniBand subsystem.
  55          Together with driver support this allows registration of
  56          memory regions without pinning their pages, fetching the
  57          pages on demand instead.
  58
  59config INFINIBAND_ADDR_TRANS
  60        bool "RDMA/CM"
  61        depends on INFINIBAND
  62        default y
  63        help
  64          Support for RDMA communication manager (CM).
  65          This allows for a generic connection abstraction over RDMA.
  66
  67config INFINIBAND_ADDR_TRANS_CONFIGFS
  68        bool
  69        depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
  70        default y
  71        help
  72          ConfigFS support for RDMA communication manager (CM).
  73          This allows the user to config the default GID type that the CM
  74          uses for each device, when initiaing new connections.
  75
  76config INFINIBAND_VIRT_DMA
  77        def_bool !HIGHMEM
  78
  79if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
  80source "drivers/infiniband/hw/mthca/Kconfig"
  81source "drivers/infiniband/hw/qib/Kconfig"
  82source "drivers/infiniband/hw/cxgb4/Kconfig"
  83source "drivers/infiniband/hw/efa/Kconfig"
  84source "drivers/infiniband/hw/i40iw/Kconfig"
  85source "drivers/infiniband/hw/mlx4/Kconfig"
  86source "drivers/infiniband/hw/mlx5/Kconfig"
  87source "drivers/infiniband/hw/ocrdma/Kconfig"
  88source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
  89source "drivers/infiniband/hw/usnic/Kconfig"
  90source "drivers/infiniband/hw/hns/Kconfig"
  91source "drivers/infiniband/hw/bnxt_re/Kconfig"
  92source "drivers/infiniband/hw/hfi1/Kconfig"
  93source "drivers/infiniband/hw/qedr/Kconfig"
  94source "drivers/infiniband/sw/rdmavt/Kconfig"
  95source "drivers/infiniband/sw/rxe/Kconfig"
  96source "drivers/infiniband/sw/siw/Kconfig"
  97endif
  98
  99source "drivers/infiniband/ulp/ipoib/Kconfig"
 100
 101source "drivers/infiniband/ulp/srp/Kconfig"
 102source "drivers/infiniband/ulp/srpt/Kconfig"
 103
 104source "drivers/infiniband/ulp/iser/Kconfig"
 105source "drivers/infiniband/ulp/isert/Kconfig"
 106source "drivers/infiniband/ulp/rtrs/Kconfig"
 107
 108source "drivers/infiniband/ulp/opa_vnic/Kconfig"
 109
 110endif # INFINIBAND
 111