123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- # SPDX-License-Identifier: GPL-2.0-only
- menuconfig INFINIBAND
- tristate "InfiniBand support"
- depends on HAS_IOMEM && HAS_DMA
- depends on NET
- depends on INET
- depends on m || IPV6 != m
- depends on !ALPHA
- select IRQ_POLL
- select DIMLIB
- help
- Core support for InfiniBand (IB). Make sure to also select
- any protocols you wish to use as well as drivers for your
- InfiniBand hardware.
- if INFINIBAND
- config INFINIBAND_USER_MAD
- tristate "InfiniBand userspace MAD support"
- depends on INFINIBAND
- help
- Userspace InfiniBand Management Datagram (MAD) support. This
- is the kernel side of the userspace MAD support, which allows
- userspace processes to send and receive MADs. You will also
- need libibumad from rdma-core
- <https://github.com/linux-rdma/rdma-core>.
- config INFINIBAND_USER_ACCESS
- tristate "InfiniBand userspace access (verbs and CM)"
- depends on MMU
- help
- Userspace InfiniBand access support. This enables the
- kernel side of userspace verbs and the userspace
- communication manager (CM). This allows userspace processes
- to set up connections and directly access InfiniBand
- hardware for fast-path operations. You will also need
- libibverbs, libibcm and a hardware driver library from
- rdma-core <https://github.com/linux-rdma/rdma-core>.
- config INFINIBAND_USER_MEM
- bool
- depends on INFINIBAND_USER_ACCESS != n
- depends on MMU
- select DMA_SHARED_BUFFER
- default y
- config INFINIBAND_ON_DEMAND_PAGING
- bool "InfiniBand on-demand paging support"
- depends on INFINIBAND_USER_MEM
- select MMU_NOTIFIER
- select INTERVAL_TREE
- select HMM_MIRROR
- default y
- help
- On demand paging support for the InfiniBand subsystem.
- Together with driver support this allows registration of
- memory regions without pinning their pages, fetching the
- pages on demand instead.
- config INFINIBAND_ADDR_TRANS
- bool "RDMA/CM"
- depends on INFINIBAND
- default y
- help
- Support for RDMA communication manager (CM).
- This allows for a generic connection abstraction over RDMA.
- config INFINIBAND_ADDR_TRANS_CONFIGFS
- bool
- depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
- default y
- help
- ConfigFS support for RDMA communication manager (CM).
- This allows the user to config the default GID type that the CM
- uses for each device, when initiaing new connections.
- config INFINIBAND_VIRT_DMA
- def_bool !HIGHMEM
- if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
- if !UML
- source "drivers/infiniband/hw/bnxt_re/Kconfig"
- source "drivers/infiniband/hw/cxgb4/Kconfig"
- source "drivers/infiniband/hw/efa/Kconfig"
- source "drivers/infiniband/hw/erdma/Kconfig"
- source "drivers/infiniband/hw/hfi1/Kconfig"
- source "drivers/infiniband/hw/hns/Kconfig"
- source "drivers/infiniband/hw/irdma/Kconfig"
- source "drivers/infiniband/hw/mlx4/Kconfig"
- source "drivers/infiniband/hw/mlx5/Kconfig"
- source "drivers/infiniband/hw/mthca/Kconfig"
- source "drivers/infiniband/hw/ocrdma/Kconfig"
- source "drivers/infiniband/hw/qedr/Kconfig"
- source "drivers/infiniband/hw/qib/Kconfig"
- source "drivers/infiniband/hw/usnic/Kconfig"
- source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
- source "drivers/infiniband/sw/rdmavt/Kconfig"
- endif # !UML
- source "drivers/infiniband/sw/rxe/Kconfig"
- source "drivers/infiniband/sw/siw/Kconfig"
- endif
- source "drivers/infiniband/ulp/ipoib/Kconfig"
- source "drivers/infiniband/ulp/srp/Kconfig"
- source "drivers/infiniband/ulp/srpt/Kconfig"
- source "drivers/infiniband/ulp/iser/Kconfig"
- source "drivers/infiniband/ulp/isert/Kconfig"
- source "drivers/infiniband/ulp/rtrs/Kconfig"
- source "drivers/infiniband/ulp/opa_vnic/Kconfig"
- endif # INFINIBAND
|