xref: /linux/drivers/infiniband/Kconfig (revision 9e4e86a604dfd06402933467578c4b79f5412b2c)
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 !ALPHA
8adf90eb4SPaul E. McKenney	select DMA_SHARED_BUFFER
9*16cb1a64SArnd Bergmann	select IRQ_POLL
1014d3a3b2SChristoph Hellwig	select DIMLIB
11f8fc8cd9SYamin Friedman	help
12a7f7f624SMasahiro Yamada	  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
161da177e4SLinus Torvaldsif INFINIBAND
1706cc8508SJan Engelhardt
1806cc8508SJan Engelhardtconfig INFINIBAND_USER_MAD
1917781cd6SJames Lentini	tristate "InfiniBand userspace MAD support"
2017781cd6SJames Lentini	depends on INFINIBAND
212d927d69SRoland Dreier	help
22a7f7f624SMasahiro Yamada	  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
2517781cd6SJames Lentini	  need libibumad from rdma-core
2646adb179SJason Gunthorpe	  <https://github.com/linux-rdma/rdma-core>.
2746adb179SJason Gunthorpe
2817781cd6SJames Lentiniconfig INFINIBAND_USER_ACCESS
2917781cd6SJames Lentini	tristate "InfiniBand userspace access (verbs and CM)"
3017781cd6SJames Lentini	depends on MMU
31914e5d7dSJason Gunthorpe	help
32a7f7f624SMasahiro Yamada	  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
3817781cd6SJames Lentini	  rdma-core <https://github.com/linux-rdma/rdma-core>.
3946adb179SJason Gunthorpe
402d927d69SRoland Dreierconfig INFINIBAND_USER_MEM
41f7c6a7b5SRoland Dreier	bool
42f7c6a7b5SRoland Dreier	depends on INFINIBAND_USER_ACCESS != n
43f7c6a7b5SRoland Dreier	depends on MMU
449cc12ad6SArnd Bergmann	select DMA_SHARED_BUFFER
45368c0159SJianxin Xiong	default y
46f7c6a7b5SRoland Dreier
47f7c6a7b5SRoland Dreierconfig INFINIBAND_ON_DEMAND_PAGING
48860f10a7SSagi Grimberg	bool "InfiniBand on-demand paging support"
49860f10a7SSagi Grimberg	depends on INFINIBAND_USER_MEM
50860f10a7SSagi Grimberg	select MMU_NOTIFIER
51882214e2SHaggai Eran	select INTERVAL_TREE
527cc2e18fSJason Gunthorpe	select HMM_MIRROR
5336f30e48SYishai Hadas	default y
54860f10a7SSagi Grimberg	help
55a7f7f624SMasahiro Yamada	  On demand paging support for the InfiniBand subsystem.
56860f10a7SSagi Grimberg	  Together with driver support this allows registration of
57860f10a7SSagi Grimberg	  memory regions without pinning their pages, fetching the
58860f10a7SSagi Grimberg	  pages on demand instead.
59860f10a7SSagi Grimberg
60860f10a7SSagi Grimbergconfig INFINIBAND_ADDR_TRANS
617025fcd3SSean Hefty	bool "RDMA/CM"
62f7cb7b85SGreg Thelen	depends on INFINIBAND
632f85d24eSMatan Barak	default y
647025fcd3SSean Hefty	help
65a7f7f624SMasahiro Yamada	  Support for RDMA communication manager (CM).
66f7cb7b85SGreg Thelen	  This allows for a generic connection abstraction over RDMA.
67f7cb7b85SGreg Thelen
687025fcd3SSean Heftyconfig INFINIBAND_ADDR_TRANS_CONFIGFS
69045959dbSMatan Barak	bool
70045959dbSMatan Barak	depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
71045959dbSMatan Barak	default y
72045959dbSMatan Barak	help
73a7f7f624SMasahiro Yamada	  ConfigFS support for RDMA communication manager (CM).
74045959dbSMatan Barak	  This allows the user to config the default GID type that the CM
75045959dbSMatan Barak	  uses for each device, when initiaing new connections.
76045959dbSMatan Barak
77045959dbSMatan Barakconfig INFINIBAND_VIRT_DMA
78b1e678bfSChristoph Hellwig	def_bool !HIGHMEM
79b1e678bfSChristoph Hellwig
80b1e678bfSChristoph Hellwigif INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
816fa8f1afSShamir Rabinovitchif !UML
82323a74fcSRandy Dunlapsource "drivers/infiniband/hw/bnxt_re/Kconfig"
83ca7fd6cfSCheng Xusource "drivers/infiniband/hw/bng_re/Kconfig"
84d0da769cSSiva Reddy Kallamsource "drivers/infiniband/hw/cxgb4/Kconfig"
85cfdda9d7SSteve Wisesource "drivers/infiniband/hw/efa/Kconfig"
86f23afd75SGal Pressmansource "drivers/infiniband/hw/erdma/Kconfig"
87ca7fd6cfSCheng Xusource "drivers/infiniband/hw/hfi1/Kconfig"
88ca7fd6cfSCheng Xusource "drivers/infiniband/hw/hns/Kconfig"
89ca7fd6cfSCheng Xusource "drivers/infiniband/hw/ionic/Kconfig"
906603fbf1SAbhijit Gangurdesource "drivers/infiniband/hw/irdma/Kconfig"
91fa0cf568SShiraz Saleemsource "drivers/infiniband/hw/mana/Kconfig"
920266a177SLong Lisource "drivers/infiniband/hw/mlx4/Kconfig"
93225c7b1fSRoland Dreiersource "drivers/infiniband/hw/mlx5/Kconfig"
94e126ba97SEli Cohensource "drivers/infiniband/hw/mthca/Kconfig"
95ca7fd6cfSCheng Xusource "drivers/infiniband/hw/ocrdma/Kconfig"
96fe2caefcSParav Panditsource "drivers/infiniband/hw/qedr/Kconfig"
976fa8f1afSShamir Rabinovitchsource "drivers/infiniband/hw/usnic/Kconfig"
98ca7fd6cfSCheng Xusource "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
99ca7fd6cfSCheng Xusource "drivers/infiniband/sw/rdmavt/Kconfig"
1006fa8f1afSShamir Rabinovitchendif # !UML
101323a74fcSRandy Dunlapsource "drivers/infiniband/sw/rxe/Kconfig"
1026fa8f1afSShamir Rabinovitchsource "drivers/infiniband/sw/siw/Kconfig"
103c0cf5bddSBernard Metzlerendif
1046fa8f1afSShamir Rabinovitch
105225c7b1fSRoland Dreiersource "drivers/infiniband/ulp/ipoib/Kconfig"
1061da177e4SLinus Torvalds
1071da177e4SLinus Torvaldssource "drivers/infiniband/ulp/srp/Kconfig"
108aef9ec39SRoland Dreiersource "drivers/infiniband/ulp/srpt/Kconfig"
109a42d985bSBart Van Assche
110aef9ec39SRoland Dreiersource "drivers/infiniband/ulp/iser/Kconfig"
1113f1244a2SOr Gerlitzsource "drivers/infiniband/ulp/isert/Kconfig"
112b8d26b3bSNicholas Bellingersource "drivers/infiniband/ulp/rtrs/Kconfig"
113c013fbc1SJack Wang
1143f1244a2SOr Gerlitzendif # INFINIBAND
1157d6f728cSVishwanathapura, Niranjana