forked from Minki/linux
db0acbc475
If NO_DMA=y:
ERROR: "bad_dma_ops" [net/sunrpc/xprtrdma/rpcrdma.ko] undefined!
ERROR: "bad_dma_ops" [net/smc/smc.ko] undefined!
ERROR: "bad_dma_ops" [net/rds/rds_rdma.ko] undefined!
ERROR: "bad_dma_ops" [net/9p/9pnet_rdma.ko] undefined!
ERROR: "bad_dma_ops" [drivers/nvme/target/nvmet-rdma.ko] undefined!
ERROR: "bad_dma_ops" [drivers/nvme/host/nvme-rdma.ko] undefined!
ERROR: "bad_dma_ops" [drivers/infiniband/ulp/srpt/ib_srpt.ko] undefined!
ERROR: "bad_dma_ops" [drivers/infiniband/ulp/srp/ib_srp.ko] undefined!
ERROR: "bad_dma_ops" [drivers/infiniband/ulp/isert/ib_isert.ko] undefined!
ERROR: "bad_dma_ops" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined!
ERROR: "bad_dma_ops" [drivers/infiniband/ulp/ipoib/ib_ipoib.ko] undefined!
ERROR: "bad_dma_ops" [drivers/infiniband/core/ib_core.ko] undefined!
Before, this was handled implicitly by the dependency on PCI.
Add an explicit dependency on HAS_DMA to fix this.
Fixes: 931bc0d916
("IB: Move PCI dependency from root KConfig to HW's KConfigs")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
108 lines
3.4 KiB
Plaintext
108 lines
3.4 KiB
Plaintext
menuconfig INFINIBAND
|
|
tristate "InfiniBand support"
|
|
depends on HAS_IOMEM && HAS_DMA
|
|
depends on NET
|
|
depends on INET
|
|
depends on m || IPV6 != m
|
|
select IRQ_POLL
|
|
---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 <http://www.openfabrics.org/downloads/management/>.
|
|
|
|
config INFINIBAND_USER_ACCESS
|
|
tristate "InfiniBand userspace access (verbs and CM)"
|
|
select ANON_INODES
|
|
---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
|
|
<http://www.openfabrics.org/git/>.
|
|
|
|
config INFINIBAND_EXP_USER_ACCESS
|
|
bool "Allow experimental support for Infiniband ABI"
|
|
depends on INFINIBAND_USER_ACCESS
|
|
---help---
|
|
IOCTL based ABI support for Infiniband. This allows userspace
|
|
to invoke the experimental IOCTL based ABI.
|
|
These commands are parsed via per-device parsing tree and
|
|
enables per-device features.
|
|
|
|
config INFINIBAND_USER_MEM
|
|
bool
|
|
depends on INFINIBAND_USER_ACCESS != n
|
|
depends on MMU
|
|
default y
|
|
|
|
config INFINIBAND_ON_DEMAND_PAGING
|
|
bool "InfiniBand on-demand paging support"
|
|
depends on INFINIBAND_USER_MEM
|
|
select MMU_NOTIFIER
|
|
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
|
|
depends on INFINIBAND
|
|
default y
|
|
|
|
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.
|
|
|
|
source "drivers/infiniband/hw/mthca/Kconfig"
|
|
source "drivers/infiniband/hw/qib/Kconfig"
|
|
source "drivers/infiniband/hw/cxgb3/Kconfig"
|
|
source "drivers/infiniband/hw/cxgb4/Kconfig"
|
|
source "drivers/infiniband/hw/i40iw/Kconfig"
|
|
source "drivers/infiniband/hw/mlx4/Kconfig"
|
|
source "drivers/infiniband/hw/mlx5/Kconfig"
|
|
source "drivers/infiniband/hw/nes/Kconfig"
|
|
source "drivers/infiniband/hw/ocrdma/Kconfig"
|
|
source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
|
|
source "drivers/infiniband/hw/usnic/Kconfig"
|
|
source "drivers/infiniband/hw/hns/Kconfig"
|
|
|
|
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/opa_vnic/Kconfig"
|
|
source "drivers/infiniband/sw/rdmavt/Kconfig"
|
|
source "drivers/infiniband/sw/rxe/Kconfig"
|
|
|
|
source "drivers/infiniband/hw/hfi1/Kconfig"
|
|
|
|
source "drivers/infiniband/hw/qedr/Kconfig"
|
|
|
|
source "drivers/infiniband/hw/bnxt_re/Kconfig"
|
|
|
|
endif # INFINIBAND
|