xref: /openbmc/linux/drivers/infiniband/Kconfig (revision a7f7f624)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
206cc8508SJan Engelhardtmenuconfig INFINIBAND
31da177e4SLinus Torvalds	tristate "InfiniBand support"
4db0acbc4SGeert Uytterhoeven	depends on HAS_IOMEM && HAS_DMA
5b2cbae2cSRoland Dreier	depends on NET
62f85d24eSMatan Barak	depends on INET
72f85d24eSMatan Barak	depends on m || IPV6 != m
8adf90eb4SPaul E. McKenney	depends on !ALPHA
914d3a3b2SChristoph Hellwig	select IRQ_POLL
10f8fc8cd9SYamin Friedman	select DIMLIB
11a7f7f624SMasahiro Yamada	help
121da177e4SLinus Torvalds	  Core support for InfiniBand (IB).  Make sure to also select
131da177e4SLinus Torvalds	  any protocols you wish to use as well as drivers for your
141da177e4SLinus Torvalds	  InfiniBand hardware.
151da177e4SLinus Torvalds
1606cc8508SJan Engelhardtif INFINIBAND
1706cc8508SJan Engelhardt
1817781cd6SJames Lentiniconfig INFINIBAND_USER_MAD
1917781cd6SJames Lentini	tristate "InfiniBand userspace MAD support"
202d927d69SRoland Dreier	depends on INFINIBAND
21a7f7f624SMasahiro Yamada	help
2217781cd6SJames Lentini	  Userspace InfiniBand Management Datagram (MAD) support.  This
2317781cd6SJames Lentini	  is the kernel side of the userspace MAD support, which allows
2417781cd6SJames Lentini	  userspace processes to send and receive MADs. You will also
2546adb179SJason Gunthorpe	  need libibumad from rdma-core
2646adb179SJason Gunthorpe	  <https://github.com/linux-rdma/rdma-core>.
2717781cd6SJames Lentini
2817781cd6SJames Lentiniconfig INFINIBAND_USER_ACCESS
2917781cd6SJames Lentini	tristate "InfiniBand userspace access (verbs and CM)"
30914e5d7dSJason Gunthorpe	depends on MMU
31a7f7f624SMasahiro Yamada	help
3217781cd6SJames Lentini	  Userspace InfiniBand access support.  This enables the
3317781cd6SJames Lentini	  kernel side of userspace verbs and the userspace
3417781cd6SJames Lentini	  communication manager (CM).  This allows userspace processes
3517781cd6SJames Lentini	  to set up connections and directly access InfiniBand
3617781cd6SJames Lentini	  hardware for fast-path operations.  You will also need
3717781cd6SJames Lentini	  libibverbs, libibcm and a hardware driver library from
3846adb179SJason Gunthorpe	  rdma-core <https://github.com/linux-rdma/rdma-core>.
392d927d69SRoland Dreier
40185899eeSMatan Barakconfig INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI
41185899eeSMatan Barak	bool "Allow experimental legacy verbs in new ioctl uAPI  (EXPERIMENTAL)"
428eb19e8eSMatan Barak	depends on INFINIBAND_USER_ACCESS
43a7f7f624SMasahiro Yamada	help
44185899eeSMatan Barak	  IOCTL based uAPI support for Infiniband is enabled by default for
45185899eeSMatan Barak	  new verbs only. This allows userspace to invoke the IOCTL based uAPI
46185899eeSMatan Barak	  for current legacy verbs too.
478eb19e8eSMatan Barak
48f7c6a7b5SRoland Dreierconfig INFINIBAND_USER_MEM
49f7c6a7b5SRoland Dreier	bool
50f7c6a7b5SRoland Dreier	depends on INFINIBAND_USER_ACCESS != n
519cc12ad6SArnd Bergmann	depends on MMU
52f7c6a7b5SRoland Dreier	default y
53f7c6a7b5SRoland Dreier
54860f10a7SSagi Grimbergconfig INFINIBAND_ON_DEMAND_PAGING
55860f10a7SSagi Grimberg	bool "InfiniBand on-demand paging support"
56860f10a7SSagi Grimberg	depends on INFINIBAND_USER_MEM
57882214e2SHaggai Eran	select MMU_NOTIFIER
587cc2e18fSJason Gunthorpe	select INTERVAL_TREE
59860f10a7SSagi Grimberg	default y
60a7f7f624SMasahiro Yamada	help
61860f10a7SSagi Grimberg	  On demand paging support for the InfiniBand subsystem.
62860f10a7SSagi Grimberg	  Together with driver support this allows registration of
63860f10a7SSagi Grimberg	  memory regions without pinning their pages, fetching the
64860f10a7SSagi Grimberg	  pages on demand instead.
65860f10a7SSagi Grimberg
667025fcd3SSean Heftyconfig INFINIBAND_ADDR_TRANS
67f7cb7b85SGreg Thelen	bool "RDMA/CM"
682f85d24eSMatan Barak	depends on INFINIBAND
697025fcd3SSean Hefty	default y
70a7f7f624SMasahiro Yamada	help
71f7cb7b85SGreg Thelen	  Support for RDMA communication manager (CM).
72f7cb7b85SGreg Thelen	  This allows for a generic connection abstraction over RDMA.
737025fcd3SSean Hefty
74045959dbSMatan Barakconfig INFINIBAND_ADDR_TRANS_CONFIGFS
75045959dbSMatan Barak	bool
76045959dbSMatan Barak	depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
77045959dbSMatan Barak	default y
78a7f7f624SMasahiro Yamada	help
79045959dbSMatan Barak	  ConfigFS support for RDMA communication manager (CM).
80045959dbSMatan Barak	  This allows the user to config the default GID type that the CM
81045959dbSMatan Barak	  uses for each device, when initiaing new connections.
82045959dbSMatan Barak
836fa8f1afSShamir Rabinovitchif INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
841da177e4SLinus Torvaldssource "drivers/infiniband/hw/mthca/Kconfig"
85f931551bSRalph Campbellsource "drivers/infiniband/hw/qib/Kconfig"
86cfdda9d7SSteve Wisesource "drivers/infiniband/hw/cxgb4/Kconfig"
87f23afd75SGal Pressmansource "drivers/infiniband/hw/efa/Kconfig"
886e4de866SFaisal Latifsource "drivers/infiniband/hw/i40iw/Kconfig"
89225c7b1fSRoland Dreiersource "drivers/infiniband/hw/mlx4/Kconfig"
90e126ba97SEli Cohensource "drivers/infiniband/hw/mlx5/Kconfig"
91fe2caefcSParav Panditsource "drivers/infiniband/hw/ocrdma/Kconfig"
9229c8d9ebSAdit Ranadivesource "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
93e3cf00d0SUpinder Malhisource "drivers/infiniband/hw/usnic/Kconfig"
948793f779Soulijunsource "drivers/infiniband/hw/hns/Kconfig"
956fa8f1afSShamir Rabinovitchsource "drivers/infiniband/hw/bnxt_re/Kconfig"
966fa8f1afSShamir Rabinovitchsource "drivers/infiniband/hw/hfi1/Kconfig"
976fa8f1afSShamir Rabinovitchsource "drivers/infiniband/hw/qedr/Kconfig"
986fa8f1afSShamir Rabinovitchsource "drivers/infiniband/sw/rdmavt/Kconfig"
996fa8f1afSShamir Rabinovitchsource "drivers/infiniband/sw/rxe/Kconfig"
100c0cf5bddSBernard Metzlersource "drivers/infiniband/sw/siw/Kconfig"
1016fa8f1afSShamir Rabinovitchendif
102225c7b1fSRoland Dreier
1031da177e4SLinus Torvaldssource "drivers/infiniband/ulp/ipoib/Kconfig"
1041da177e4SLinus Torvalds
105aef9ec39SRoland Dreiersource "drivers/infiniband/ulp/srp/Kconfig"
106a42d985bSBart Van Asschesource "drivers/infiniband/ulp/srpt/Kconfig"
107aef9ec39SRoland Dreier
1083f1244a2SOr Gerlitzsource "drivers/infiniband/ulp/iser/Kconfig"
109b8d26b3bSNicholas Bellingersource "drivers/infiniband/ulp/isert/Kconfig"
110c013fbc1SJack Wangsource "drivers/infiniband/ulp/rtrs/Kconfig"
1113f1244a2SOr Gerlitz
1127d6f728cSVishwanathapura, Niranjanasource "drivers/infiniband/ulp/opa_vnic/Kconfig"
113592e8b32SSelvin Xavier
11406cc8508SJan Engelhardtendif # INFINIBAND
115