Kconfig 3.4 KB

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